Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 12. September 2016 11:31
- DokuMan
- probiert CMS/ms aus
- Registriert: 26. November 2011
- Beiträge: 51
- Webseite
CMSMS 2: Navigator -> Funktionsname?
Hallo zusammen,
ich habe gesehen, dass beim {Navigator} Modul in der Standardinstallation in der Designverwaltung beim "Simplex Main Navigation" folgendes enthalten ist:
[== php ==]
{function do_class}
{if count($classes) > 0} class='{implode(' ',$classes)}'{/if}
{/function}
{function name='Simplex_menu' depth='1'}
<ul{$main_id}{if isset($ul_class) && $ul_class != ''} class="{$ul_class}"{/if}>
[...]
Wozu wird das "function name=" gebraucht und was hat es mit "do_class" auf sich?
Offline
#2 13. September 2016 21:22
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: CMSMS 2: Navigator -> Funktionsname?
{function} ... {/function} ist eine Blockfunktion aus dem Smarty Compiler, womit sich in Smarty eine Funktion selbst definieren lässt. Ist adäquat der function() in PHP
https://secure.php.net/manual/de/functi … efined.php
Es wird eine Funktion mit dem Namen do_class definiert, die nichts anderes macht, als die angegebenen CSS-Klassen zu zählen, dann die Klassen, wenn es mehr als 0 ist, über den implode Befehl mit Leerzeichen dazwischen zusammenfügt, so dass im Ergebnis z.Bsp.
class='Klasse1 Klasse2 Klasse3'
ausgegeben wird.
Wobei die Ausgabe nach meinem Geschmack etwas unsauber ist. Übersichtlicher wäre
class="Klasse1 Klasse2 Klasse3"
also mit doppelten Anführungszeichen, denn spätestens bei derartigen Konstrukten
<a href="#" OnClick="Alert('Geklickt!');">Klick mich!</a>
werden die einfachen Anführungszeichen für andere Dinge benötigt, was dann aber den Code inkonsistent macht.
PS: Übrigens, {function} ... {/function} hat primär nichts mit CMSMS 2 zu tun. Diese Möglichkeit bestand bereits seit CMSMS 1.11.x ...
Offline
#3 14. September 2016 07:52
- DokuMan
- probiert CMS/ms aus
- Registriert: 26. November 2011
- Beiträge: 51
- Webseite
Re: CMSMS 2: Navigator -> Funktionsname?
Danke für die Erleuchtung.
Ich habe das Konstrukt in 1.x noch nirgends gesehen, daher dachte ich das wäre was Neues.
Offline
#4 15. September 2016 13:33
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: CMSMS 2: Navigator -> Funktionsname?
Keine Ahnung, warum dies bislang nicht eingesetzt wurde.
Würde es auch weiterhin nicht einsetzen, denn so gut und verlockend die Möglichkeit auch scheint, so unperformant ist sie dann auch - muss dieses Konstrukt doch bei jedem Aufruf des Menüs durch die Smarty Maschinerie durch, und das kostet Zeit. Zeit, die der Besucher meist nicht hat... sollte IMHO mit einem Plugin schneller sein, da es einfach näher an PHP dran ist.
Offline
Seiten: 1