Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 26. Juni 2013 10:08
- fishfart
- hat von CMS/ms gehört
- Registriert: 14. September 2011
- Beiträge: 17
GELÖST: simple_navigation.tpl und _blank beim "Weiterleitungs-Link"
Hallo zusammen,
falls ich trotz Suche dieses Thema als Dublikat anspreche, entschuldige ich mich! Immerhin aber ist es gelöst und evtl. hilft es ja jemandem weiter!
Problemchen:
Mir war schon seit längerem aufgefallen, daß der Seitentyp "Weiterleitungs-Link" trotz eingestellter Option "Ziel: _blank" keinen neuen Tab im Browser öffnet, sondern die aktuelle Seite ersetzt. Nun habe ich diesen Mangel behoben und so bin ich drauf gekommen:
In der Administration unter => Module gibt's ja den 'MenuManager' => dort stehen alle Parameter schön erklärt und aufgelistet.
Unter anderem eben auch diese Liste:
$node->type -- Inhaltstyp des Nodes. Mögliche Werte sind content (=Inhalt), errorpage (=Fehlerseite), link (=externer Link), pagelink (=interner Seitenlink), sectionheader (=Abschnittsüberschrift) sowie separator (=Trenner).
Unser Kandidat wäre also "link (=externer Link)"
Im Fileverzeichnis
modules/MenuManager/templates/
steht in der Datei "simple_navigation.tpl" in Zeile 40 - 45 eine Abfrage eben dieser $node Angaben. Eine Abfrage von
[== Smarty ==]
{elseif $node->type == 'link'}fehlt aber!
Ok, also ergänze in der Datei "simple_navigation.tpl" nach dem Eintrag
[== Smarty ==]
{elseif $node->type == 'separator'}
<li class="separator" style="list-style-type: none;"> <hr />die folgenden zwei Zeilen:
[== Smarty ==]
{elseif $node->type == 'link'}
<li><a target="_blank" href="{$node->url}"><span>{$node->menutext}</span></a>Damit stehen nun bei allen Seiten vom InhaltsTyp "Weiterleitungs-Link" das target '_blank' mit drin.
Allerdings ist das nun hart verdrahtet, also immer vorhanden, egal, was man in der Administration als Option angibt - also noch nicht optimal!
Es gibt beim MenuManager in der Auflistung der node-Parameter folgende Info:
$node->target -- Dieses Feld enthält das Ziel für den Link (falls definiert), außer der Parameter loadprops wurde so gesetzt, dass diese Eigenschaft NICHT geladen wird.
Das ist doch das, was wir brauchen, oder?
Also:
[== Smarty ==]
{elseif $node->type == 'link' and $node->target == '_blank'}
<li><a target="_blank" href="{$node->url}"><span>{$node->menutext}</span></a>Leider funktioniert das aber noch nicht...
Also der oben bereits zitierte Hinweis
"$node->target -- Dieses Feld enthält das Ziel für den Link (falls definiert), außer der Parameter loadprops wurde so gesetzt, dass diese Eigenschaft NICHT geladen wird."
sollte berücksichtigt werden! Ein Blick ins Template der bei mir angezeigten Seite, "Left simple navigation + 1 column" zeigt folgenden {menu}-Aufruf:
[== Smarty ==]
{menu loadprops=0 template='simple_navigation.tpl' collapse='1'}Aha! Also ändern in
[== Smarty ==]
{menu loadprops=1 template='simple_navigation.tpl' collapse='1'}und nochmal versuchen. Und siehe da: die Abfrage oben nach 'link' und '_blank' funktioniert genau, wie sie soll.
Mit freundlichen Grüßen,
Euer Fischfurz (Johannes)
Beitrag geändert von fishfart (26. Juni 2013 10:09)
Offline
#2 26. Juni 2013 10:28
- NaN
- Moderator

- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: GELÖST: simple_navigation.tpl und _blank beim "Weiterleitungs-Link"
Danke für die ausführliche Zusammenstellung.
Noch ein kleine Ergänzung:
modules/MenuManager/templates/
Dort würde ich nichts ändern.
Man kann das Template entweder in die Datenbank importieren und dort ändern, oder man nutzt die Möglichkeiten von "module_custom".
Beispiele:
http://www.cmsmadesimple.de/forum/viewtopic.php?id=2997
http://www.cmsmadesimple.de/forum/viewt … 2766#p2766
Ist update-sicherer, weil die ModulTemplates beim Update evtl. geändert werden könnten. Dann sind die Änderungen wieder weg.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#3 26. Juni 2013 10:39
- fishfart
- hat von CMS/ms gehört
- Registriert: 14. September 2011
- Beiträge: 17
Re: GELÖST: simple_navigation.tpl und _blank beim "Weiterleitungs-Link"
Dort würde ich nichts ändern.
Man kann das Template entweder in die Datenbank importieren und dort ändern, oder man nutzt die Möglichkeiten von "module_custom".
Ja, stimmt, so ist's updatesicherer! Danke!
Offline
#4 30. Juni 2013 06:12
- Andynium
- Moderator

- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: GELÖST: simple_navigation.tpl und _blank beim "Weiterleitungs-Link"
falls ich trotz Suche dieses Thema als Dublikat anspreche, entschuldige ich mich!
Kein Problem, so ein detailiertes HowTo ist auch für das Verständnis der Funktionsweise zum einen und der vorhandenen Beiträge zum anderen gut geeignet
Offline
Seiten: 1