Hi,
ich habe ein Modul geschrieben und dort ein kleiens JS-Script per $doc->addScriptDeclaration eingefügt.
Wenn das Modul nun mehrmals veröffentlicht wird wird natürlich auch das Script mehrmals hinzugefügt. Wie kann man das umgehen?
Grüße
Hi,
ich habe ein Modul geschrieben und dort ein kleiens JS-Script per $doc->addScriptDeclaration eingefügt.
Wenn das Modul nun mehrmals veröffentlicht wird wird natürlich auch das Script mehrmals hinzugefügt. Wie kann man das umgehen?
Grüße
"Machs wie Joomla!"
Ordner anlegene Modulordner/html/
Datei anlegen Modulordner/html/dingsbums.php
abstract class JHtmlDingsbums{ protected static $loaded = array(); public static function tralala() { // Bereits ausgeführt, also zurück/return if (!empty(static::$loaded[__METHOD__])) { return; } // Noch nicht ausgeführt: ------- JS-CODE einbinden ... addScriptDeclaration etc. ------ // Danach Switch für Lade-Methode tralala() auf true: static::$loaded[__METHOD__] = true; }}
Bspw. im Modul-Helper frühzeitig ein
Kann aber auch direkt vor untigem Einbinde-Aufruf
Und Einbinde-Aufruf dann an passender Stelle
Natürlich muss man das nicht unbedingt über Joomla-JHtml-Klasse machen, da du auch in jeder andern Klasse eine static-Variable ($loaded) als Switch für eine oder mehrere Lade-Methode(n) darin anlegen kannst. Also auch in der Modul-Helper-Klasse selbst, ohne JHtml-Gedingse.
Sieh selbst, wann sich der ""Aufwand"" lohnt und wie/wo am effizientesten.
Hi,
danke Jungs. Das bringt mich auf schonmal weiter ans Ziel :).
Viele Grüße