Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#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!  wink

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:

cmsms schrieb:

$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:

CMSms schrieb:

$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

CMSms schrieb:

"$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"

NaN schrieb:

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"

fishfart schrieb:

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

http://www.cmsmadesimple.de/forum/viewt … 2865#p2865

Offline