Eigene Felder in Archiv

  • Joomla Version
    5.1.2
    PHP Version
    PHP 8.3.x
    Hoster
    allinkl.com

    Hallo zusammen,

    ich versuche nun mittlerweile seit mehreren Tagen, drei eigene Felder in der Archivübersicht auszugeben. In der Kategorieliste und im Modul "mod_articles_latest" ist mir das auch gelungen. Das Archiv soll wie die Kategorieliste aufgebaut sein, was mir auch gelungen ist. Leider gibt mir die Seite bei allen im Netz auffindbaren Varianten nicht den Text / Datum der eigenen Felder aus.


    MfG nasenpfahl

  • Die Seite existiert noch nicht öffentlich.

    Die Override Datei, in der die Felder ausgegeben werden sollen, ist die "html/com_content/archive/default_items.php".

    Es handelt sich um ein Feld mit Datum und Zeit, sowie 2 Textausgaben. Die Labels sollen nicht ausgegeben werden. Im Quellcode wird nichts ausgegeben.

    Folgende Pfade habe ich in der default_items.php eingefügt:

    Als Ausgabe habe ich folgenden Code versucht (als xxx habe ich die korrekte ID eingetragen):

    PHP
    <?php echo $item->jcfields[xxx]->value; ?>

    Auch der folgende Code spuckt nichts aus (anstelle von name habe ich die korrekten Feldnamen eingetragen):

    PHP
    foreach($item->jcfields as $jcfield)
        {
             $item->jcFields[$jcfield->name] = $jcfield;
        }
    ...
    <?php echo $item->jcFields['name']->value; ?>
    bzw.
    <?php echo $item->jcFields['name']->rawvalue; ?>
  • Mir fällt gerade eine andere Alternative ein.

    Wenn ich als Link die Katergorieliste nehme und dort "nur Hauptbeiträge" anzeigen lasse müsste es auch funktionieren. Anstelle der Hauptbeiträge lade ich im Override nur Archivierte Beiträge.

    :/:?:

    Falls jemand für die obige Variante eine Lösung hat, wäre ich natürlich auch dankbar.

  • Habe es jetzt mit folgenden Code hinbekommen (NAME entspricht dem Name des Feldes):

    PHP
    <?php $customFields = FieldsHelper::getFields('com_content.article', $item, true); $values = array_column($customFields, 'value', 'name');
    				echo $values['NAME']; ?>

    Beste Grüße