​$doc->addScriptDeclaration script nur einmal einfügen

  • 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


    Bspw. im Modul-Helper frühzeitig ein

    Code
    JHtml::addIncludePath(__DIR__ . '/html');


    Kann aber auch direkt vor untigem Einbinde-Aufruf


    Und Einbinde-Aufruf dann an passender Stelle

    Code
    JHtml::_('dingsbums.tralala');


    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.