Modul nur auf Kategorie-Unterseiten anzeigen

  • Joomla Version
    4.3.0
    PHP Version
    PHP 8.1.x
    Hoster
    All-Inkl

    Hallo zusammen,
    folgendes Problem stellt sich mir gerade in den Weg ?(

    Habe einen Menüpunkt vom Typ Kategorieblog - hier soll das Modul nicht angezeigt werden.
    Auf den einzelnen Unterseiten (es sind viele, und werden noch mehr) soll das Modul auf z.B. Position sidebar-right angezeigt werden.


    Ist es irgendwie möglich, ein Modul automatisch nur den Unterseiten einer verlinkten Kategorie zuzuweisen?


    Viele Grüße vom Lizzard

  • Ich würde dafür Modules Anywhere verwenden: https://regularlabs.com/modulesanywhere

    Danke dir - konnte es aber über das Template in meinem Override lösen.

    Falls das noch jemand benötigt, so bin ich vorgegangen. Voraussetzung ist ein eigener Override des Cassiopeia-Templates!


    In der index.php wird bereits im Standard die Modulposition "sidabar-left" bzw. "sidebar-right" abgefragt.

    Diese Abfrage kann man mit einer zusätzlichen Abfrage des "view" erweitern.

    Im View wird ausgegeben ob es sich bei der aufgerufenen Seite um eine "category" oder einen "article" handelt und dementsprechend die Klasse "has-sidebar-left" bzw. "has-sidebar-right" im body-Tag gesetzt.


    Damit der Bereich im Grid der Kategorieseite nicht leer bleibt:

    Code
    if ($this->countModules('sidebar-right', true) && ($view == 'article')) {
        $hasClass .= ' has-sidebar-right';
    }


    Hier die Abfrage der Modulposition und ob es sich um eine einzelne Seite, nicht Kategorie handelt:

    PHP
    <?php if ($this->countModules('sidebar-right', true) && ($view == 'article')) : ?>
         <div class="grid-child container-sidebar-right">
              <jdoc:include type="modules" name="sidebar-right" style="card" />
         </div>
    <?php endif; ?>


    Viele Grüße vom Lizzard