Modul Override – Aktive Menu-ID in Abfrage für Zusatztext erfragen

  • Vielleicht kann mir jemand einen Tipp geben.


    Ich möchte für ein Newsletter Modul einen Zusatztext nur für einen bestimmten Menüpunkt ausgeben, über ein Override. Ich dachte daran, nach der Menu ID zu fragen,
    und eine Abfrage für die Zusatzinformation einzufügen. Früher habe ich irgendwo mal ein Tutorial gesehen, in dem beschrieben wurde, wie man so was realisieren kann.


    Ist bestimmt veraltet und irgendwas fehlt möglicherweise noch.
    Vielleicht kann man das auch anders lösen.

    Hat jemand einen Tipp, oder Hinweis, wo ich noch nachsehen kann.

    Danke





  • Jetzt hat es geklappt, jedenfalls gibt das Modul einen Infotext unter bestimmten Menüpunkten aus,
    bei anderen Menüpunkten wird (wie gewünscht) kein Text ausgegeben. Ob es jetzt eine bessere Lösung
    gibt...keine Ahnung. :)


    PHP
    1. <?php
    2. $itemid = JRequest::getVar('Itemid');
    3. $menu = $app->getMenu();
    4. $menu = $app->getMenu()->getActive()->id;
    5. // und dann kommt die Abfrage, wie schon dargestellt.
    6. ?>
    7. Wenn jemand eine andere Lösung oder Hinweis hat, würde ich mich über eine Antwort freuen.
  • Wenn es nicht quick & dirty gehen muss, würde ich wahrscheinlich ein Custom Modul oder Blank Modul anlegen und als eigene Position im Layout laden.

    Das lässt sich besser überblicken und ändern. Die Ausgabe-Bedingung lässt sich durch die Modul-Zuweisung steuern. Das Modul lässt sich nach Bedarf auch an anderen Stellen einbinden und man erzeugt keinen sich wiederholenden Quellcode.


    So in der Art, ungetestet:

    PHP
    1. jimport('joomla.application.module.helper');
    2. $modules = JModuleHelper::getModules('newsletter_position');
    3. if (!empty($modules)) {
    4. foreach ($modules as $module) {
    5. echo JModuleHelper::renderModule($module);
    6.    }
    7. }