Hallöchen,
ich würde gerne in einem Template bspw. nur den Inhalt eines Attributs (bspw. "artikelnummer") eines MetaModels ausgeben.
Aktuell steht im Standardtemplate ce_metamodel_list.html5 ja:
PHP-Code:
<?php $this->extend($this->searchable ? 'block_searchable' : 'block_unsearchable'); ?>
<?php $this->block('content'); ?>
<?= $this->items ?>
<?= $this->pagination ?>
<?php $this->endblock(); ?>
und
PHP-Code:
<?= $this->items ?>
Ich würde gerne manuell bestimmen, welches Attribut mit welchen HTML-Daten ausgegeben werden, damit ich hier etwas gestalterische Freiheit habe. Ein Blick hier zeigt:
PHP-Code:
<?= var_dump($this->items) ?>
Aha, es ist alles in einem String? "items" klang nach Plural, als ob ich bspw. $this->items['something'] einfügen könnte.
Dazu habe ich diesen uralten Link gefunden: https://de.contaowiki.org/MetaModels...usgabevorgaben (und so haben wir es mal bei einem Contao 3 Projekt vor 10 Jahren mal gemacht).
Was kann ich nun tun? Ich denke ich bin im richtigen Template...
EDIT:
Eigenes metamodel_prerendered.html5 in Kombination mit der Renderansicht war die Lösung. (Das Debug-Template war hilfreich, das auch als Auswahl dabei ist.)
Wir haben also an der falschen Stelle geschaut- das Listing-Template gibt bereits das fertige Modell aus und ist eigentlich nur ein Wrapper, wie die einzelnen Elemente allerdings ausgegeben werden, wird bereits in der Render-Einstellung festgelegt (macht auch Sinn, sobald man das auch gefunden hat). So konnte ich beispielsweise:
PHP-Code:
<?php if (count($this->data)): ?>
<?php foreach ($this->data as $item): ?>
<?php
echo '<div class="beispiel">';
echo $item['html5']['artikelnummer'];
echo '</div>';
?>
<?php endforeach; ?>
<?php endif; ?>
erstellen, nur um die Artikelnummer herauszufischen beim Listing und ein bisschen HTML drum herum hinzuzufügen.
Abschlussfrage- richtiger Weg so? Löst auf jeden Fall unser "Problem".