Template Parameter in (anderem) Modul verwenden

  • Joomla Version
    4.2.9
    PHP Version
    PHP 8.1.x
    Hoster
    Lokal

    Hallo liebe Joomlaner,


    ich habe folgendes Problem, und hoffe auf Hilfe.


    Im Rahmen einer Template-Entwicklung für Joomla 4 möchte ich in einem mod_menu Override dort Parameter ausgeben, die innerhalb des Templates vergeben werden können, z.B. eine Telefonnummer, Logo etc. Um die gewünschte Form/ Funktion des Menüs zu erhalten ist dieser Override nötig.


    Dafür habe ich den Standard-Kopf des collapse-default.php Templates:


    Code
    use Joomla\CMS\HTML\HTMLHelper;
    use Joomla\CMS\Language\Text;
    
    HTMLHelper::_('bootstrap.collapse');


    im Override erweitert auf:



    um dann mit


    PHP
    <?php if ($this->params->get('sitePhoneNumber')) : ?>
    <?php echo htmlspecialchars($this->params->get('sitePhoneNumber')); ?>
    <?php endif; ?>


    z.B. die Telefonnummer auszugeben.

    Leider bekomme ich nur die Fehlermeldung Using $this when not in object context.


    Die Template-Parameter und deren Ausgabe im Frontend über die index.php der Seite funktionieren einwandfrei, daher vermute ich hier einen Fehler in der Bezugnahme auf die Template-Parameter, die ich nicht sehe. Was lade oder referenziere ich hier falsch oder nicht?


    Ich freue mich auf Tipps

    Tim

  • Danke, Astrid. Das war der entscheidende Hinweis.


    Ich bin übrigens Fan Deines Blogs, wenngleich dem ein wenig bessere Übersicht hinsichtlich zusammenhängender/ fortlaufender Beiträge gut tun würde, wenn ich das mal so sagen darf ;)

  • Ich bin übrigens Fan Deines Blogs, wenngleich dem ein wenig bessere Übersicht hinsichtlich zusammenhängender/ fortlaufender Beiträge gut tun würde,

    Hast du gesehen, dass es bei jedem Beitrag, der mit anderen in Verbindung steht, im Kopf einen Link mit dem Namen Set gibt. Dieser führt zur Übersichtsseite.