Inhalt eines Artikels
Das Attribut „Inhalt eines Artikels“ ermöglicht es, einem MetaModels-Datensatz
Contao-Inhaltselemente (Content Elements) zuzuordnen — analog zu den Inhaltselementen
eines Contao-Artikels. Die Inhalte werden in der Contao-Tabelle tl_content
gespeichert und über ein eigenes Backend-Widget verwaltet.
Typische Einsatzbereiche:
Produktbeschreibungen mit komplexem Inhaltslayout (Text, Bilder, Tabellen)
Detailseiten mit redaktionell aufbereitetem Inhalt pro Item
Mehrere Inhaltsbereiche pro Datensatz (z. B. Hauptinhalt + Sidebar)
Im Backend erscheint ein Widget, das eine Liste der zugeordneten Inhaltselemente anzeigt und einen direkten Link zur Inhaltsverwaltung bietet.
Siehe auch
Für mehrsprachige MetaModels steht das Attribut Übersetzter Inhalt eines Artikels zur Verfügung.
Siehe auch
Dieses Attribut wird von der File-Usage Integration unterstützt. Damit lässt sich in der Contao-Dateiverwaltung anzeigen, ob und wo eine Datei eingebunden ist.
Siehe auch
Die Ausgabe von MetaModels-Listen und -Filtern im Frontend ist auf der Seite Inhaltselemente/Module für die Frontendausgabe beschrieben.
Installation
Das Attribut wird über den Contao Manager oder Composer installiert:
composer require metamodels/attribute_contentarticle
Einstellungen beim Anlegen des Attributs
Das Attribut besitzt keine eigenen spezifischen Einstellungen beim Anlegen. Es werden nur die allgemeinen Attribut-Einstellungen verwendet:
Name, Spaltenname, Beschreibung
Varianten überschreiben
Einstellungen bei den Render-Einstellungen
Das Attribut besitzt keine eigenen Render-Einstellungen. In der Attributliste einer Render-Einstellung stehen die üblichen Optionen zur Verfügung:
Option |
Beschreibung |
|---|---|
Template |
Auswahl eines eigenen Templates für die Ausgabe der Inhaltselemente. |
CSS-Klasse |
Optionale CSS-Klasse, die dem Ausgabeelement hinzugefügt wird. |
Einstellungen bei der Eingabemaske
Wird das Attribut einer Eingabemaske hinzugefügt, stehen folgende Optionen zur Verfügung:
Darstellung
Option |
Beschreibung |
|---|---|
Backend-Klasse |
CSS-Klassen für die Darstellung des Feldes im Backend-Formular. |
Template für das Backend |
Auswahl eines eigenen Widget-Templates für das Backend-Formular. |
Bemerkung
Das Attribut kann erst nach dem erstmaligen Speichern des Datensatzes mit Inhaltselementen befüllt werden. Solange der Datensatz noch nicht gespeichert ist, erscheint eine entsprechende Hinweismeldung.
Filterregeln
Das Attribut „Inhalt eines Artikels“ unterstützt keine eigenen Filterregeln — Inhaltselemente können nicht als Filterkriterium im Frontend genutzt werden.
Sonderfunktionen
Speicherung
Die Inhaltselemente werden nicht in der MetaModel-Tabelle gespeichert, sondern
als reguläre Contao-Inhaltselemente in tl_content mit folgenden Verknüpfungsfeldern:
pid– ID des MetaModels-Datensatzesptable– Name der MetaModel-Tabelle (z. B.mm_produkte)mm_slot– Spaltenname des Attributs (ermöglicht mehrere Artikel-Attribute pro MM)
Die Inhaltselemente werden über ContentModel::findPublishedByPidAndTable()
abgerufen und mit Controller::getContentElement() gerendert.
Backend-Widget
Im Backend-Formular zeigt das Widget eine Liste der vorhandenen Inhaltselemente mit Typ und Sichtbarkeitsstatus an. Ein Link führt direkt zur Verwaltungsoberfläche der Inhaltselemente. AJAX-Anfragen werden direkt im Widget-Container aktualisiert.
Duplizieren von Datensätzen
Wird ein MetaModels-Datensatz dupliziert oder eingefügt (Paste), werden die
zugeordneten Inhaltselemente automatisch mitkopiert. MetaModels erkennt dabei
alle contentarticle-Attribute und erstellt Kopien der tl_content-Einträge
mit dem neuen pid-Wert.
Rekursionsschutz
Die Erweiterung enthält einen Rekursionsschutz, um Endlosschleifen zu verhindern, falls Inhaltselemente selbst MetaModels-Inhalte referenzieren.