Custom Field im eigenen Template einbinden

  • Joomla Version
    4.3.3
    PHP Version
    PHP 8.2.x
    Hoster
    Ionos

    Moin liebe Community,

    ich möchte in meinem Template gesondert Custom Fields einbinden. Diese sollen als zusätzliche Texte im Headerbereich fernab der Komponente stehen. Wie kann ich innerhalb meiner 'index.php' meines Templates darauf zugreifen? Ich habe was von 'LayoutHelper::render' gelesen und weiß nicht ob dass das Richtige ist um an einer bestimmte Stelle im Template das bestimmte Custom Field einzubinden.

    Vorab lieben Dank an die Community und einen schönen Sonntag.

    Viele Grüße

    euer scoutrz

  • Dazu nimmt man Module.

    Erstelle dir im Template eine Modulposition, wo du den Inhalt ausgeben möchtest.

    Dann erstelle ein Modul und lass es an der entsprechenden Modulposition erscheinen. Dies steuerst du in den Menüitems.

    JoomGallery::friends ist weiterhin auf der Suche nach Helfern für die JoomGallery 4 Weiter-Entwicklung!

    Gesucht sind Leute für die PHP-Entwicklung, zum Testen, Übersetzen und Dokumentieren.

    Bei Interesse melde dich per PM oder Mail bei mir (Elfangor93).

  • Custom fields sind doch content abhängig, deshalb werden sie beim content ausgegeben. Die genaue position kann mit template overrides bestummen werden.

    Module sind von der gewählten seite (menü item) abhängig, deshalb werden sie auf der seite des entsprechenden menü items ausgegeben. Die genaue position kann mit den modulpositionen bestummen werden.

    Warum nun also diese beiden Konzepte vermischen?

    In vielen Fällen z.B bei einer Blogansicht, wird es schwierig das richtige custom field auszuwählen.

    Vielleicht hilft eine Beschreibung deiner Aufgabenstellung...

    JoomGallery::friends ist weiterhin auf der Suche nach Helfern für die JoomGallery 4 Weiter-Entwicklung!

    Gesucht sind Leute für die PHP-Entwicklung, zum Testen, Übersetzen und Dokumentieren.

    Bei Interesse melde dich per PM oder Mail bei mir (Elfangor93).

  • Dies hier wäre das prizipielle vorgehen, um custom fields an beliebeiger Stelle auszugeben:

    Code
    use Joomla\Component\Fields\Administrator\Helper:FieldsHelper;
    
    $item = $app->bootComponent('com_content')->getMVCFactory()->createModel('Article', 'Administrator')->getItem($id);
    $jcFields = FieldsHelper::getFields('com_content.article', $item, true);
    
    foreach($jcFields as $jcField)
    {
        echo $jcField->value;
    }

    JoomGallery::friends ist weiterhin auf der Suche nach Helfern für die JoomGallery 4 Weiter-Entwicklung!

    Gesucht sind Leute für die PHP-Entwicklung, zum Testen, Übersetzen und Dokumentieren.

    Bei Interesse melde dich per PM oder Mail bei mir (Elfangor93).