Hallo zusammen,
ich habe die 4.10.1 installiert und eine Weiterleitung eingerichtet wie hier viewtopic.php?f=115&t=43469&p=179552&hi ... ng#p179552 beschrieben.
Die Weiterleitung öffnet sich aber nicht im neuen Fenster. AMR ist noch nicht installiert.
Wurde der Fehler noch nicht behoben? Habe ich etwas falsch gemacht?
LG farina
Weiterleitung in neuem Fenster
Re: Weiterleitung in neuem Fenster
Hallo farina,
die Weiterleitung im neuen Fenster funktioniert auch nur dann, wenn auch das Modul, das den Link generiert dies unterstützt.
Man sollte sich also den Modulcode näher ansehen und wie dort die Links generiert werden.
Gruß
xmurrix
die Weiterleitung im neuen Fenster funktioniert auch nur dann, wenn auch das Modul, das den Link generiert dies unterstützt.
Man sollte sich also den Modulcode näher ansehen und wie dort die Links generiert werden.
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Weiterleitung in neuem Fenster
Danke für die schnelle Antwort.
Ach so, die mitgelieferten Module unterstützen das gar nicht. Ich benutze das Modul navigation_top.
Was muß ich denn ergänzen? Die get.tpl sieht so aus
Ach so, die mitgelieferten Module unterstützen das gar nicht. Ich benutze das Modul navigation_top.
Was muß ich denn ergänzen? Die get.tpl sieht so aus
Code: Alles auswählen
<!-- navigation_top/template/get.tpl -->
<ul>
{foreach from=$tree item=wrapper}
{assign var="idcat" value=$wrapper.idcat}
{assign var="url" value=$wrapper.item->getLink()}
{assign var="name" value=$wrapper.item->get('name')}
{if $idcat|in_array:$path}
{assign var="aClass" value='active'}
{else}
{assign var="aClass" value=''}
{/if}
<li>
<a class="{$aClass|escape}" href="{$url|escape}" title="{$name|escape}">{$name|escape}</a>
{if $idcat|in_array:$path}
{include file="navigation_top/template/get.tpl"
tree=$wrapper.subcats path=$path}
{/if}
</li>
{/foreach}
</ul>
<!-- /navigation_top/template/get.tpl -->
Re: Weiterleitung in neuem Fenster
Also wenn ein Link in neuem Fenster öffnen soll, braucht er das target = _blankfarina hat geschrieben: ↑Di 3. Mär 2020, 15:17Danke für die schnelle Antwort.
<ul>
{foreach from=$tree item=wrapper}
{assign var="idcat" value=$wrapper.idcat}
{assign var="url" value=$wrapper.item->getLink()}
{assign var="name" value=$wrapper.item->get('name')}
{if $idcat|in_array:$path}
{assign var="aClass" value='active'}
{else}
{assign var="aClass" value=''}
{/if}
<li>
<a class="{$aClass|escape}" href="{$url|escape}" title="{$name|escape}">{$name|escape}</a>
{if $idcat|in_array:$path}
{include file="navigation_top/template/get.tpl"
tree=$wrapper.subcats path=$path}
{/if}
</li>
{/foreach}
</ul>
<!-- /navigation_top/template/get.tpl -->[/code]
https://www.w3schools.com/tags/att_a_target.asp
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Weiterleitung in neuem Fenster
Danke, das war klar. Ich kann ja nur ein Variable als target einfügen, sonst öffnen sich alle Links im neuen Fenster z.B. so
Wie komme ich an diese Variable?
Code: Alles auswählen
<a class="{$aClass|escape}" href="{$url|escape}" title="{$name|escape}" target="{$target}">{$name|escape}</a>
Re: Weiterleitung in neuem Fenster
Das Modul "navigation_top" ließt alle Kategorien aus und generiert Links zu den Kategorien. Da du aber die Weiterleitung im Artikel machst und nicht in der Kategorie, wird das nicht funktionieren, da die im Modul verwendete Funktionalität keine Ahnung von den Artikeleigenschaften hat....Wie komme ich an diese Variable?...
Du müsstest zu allen Kategorien die Startartikel auslesen und in den Startartikeln prüfen, ob es eine Weiterleitung gibt und diesen Status an das Template als Variable übergeben.
Beispiel:
Im Modulcode brauchst du folgenden Code vor der Befüllung des Templates:
Code: Alles auswählen
$catLangColl = new cApiCategoryLanguageCollection();
foreach ($tree as $pos => $item) {
$tree[$pos]['target'] = null;
$startIdArtLang = $catLangColl->getStartIdartlangByIdcatAndIdlang($item['idcat'], cRegistry::getLanguageId());
if ($startIdArtLang) {
$artLang = new cApiArticleLanguage($startIdArtLang);
if ($artLang->get('redirect_url') && $artLang->get('redirect')) {
$tree[$pos]['target'] = '_blank';
}
}
}
Code: Alles auswählen
<a class="{$aClass|escape}" href="{$url|escape}" {if $wrapper.target}target="{$wrapper.target}"{/if} title="{$name|escape}">{$name|escape}</a>
1. Es werden zusätzliche Datenbankabfragen erzeugt, um die Artikel zu den Kategorien auszulesen und das ist nicht optimal
2. Die Änderung im Modulcode prüft nur die Artikel der Kategorien in der ersten Ebene, nicht die der Unterkategorien
3. Interne Weiterleitungen werden hier nicht berücksichtigt, da müsste man prüfen, was in $artLang->get('redirect_url') drin stehen und dann entscheiden, ob der Wert für $tree[$pos]['target'] gesetzt werden soll
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Weiterleitung in neuem Fenster
Danke xmurrix, ich versuche es so.