MetaModels Beispiel: FE-Template anpassen: Unterschied zwischen den Versionen

Aus Contao Community Documentation

K
Zeile 1: Zeile 1:
 
[[Category:Extensions]]
 
[[Category:Extensions]]
 
[[Category:MetaModels|T]]
 
[[Category:MetaModels|T]]
MetaModels (MM) bringt für die Ausgabe einer Liste ein Standard-Template mit. Mit diesem Template lassen sich alle Attribute ausgeben und prüfen. Für viele Anwendungen wird man das Template aber anpassen müssen z.B. um die HTML-Struktur umzubauen, Attribute doppelt auszugeben, bestimte Formatierungen vorzunehmen, Daten aus weiteren MetaModels zu beziehen u.v.a.m.
+
MetaModels (MM) bringt für die Ausgabe einer Liste ein Standard-Template mit. Mit diesem Template lassen sich alle Attribute ausgeben und prüfen. Für viele Anwendungen wird man das Template aber anpassen müssen z.B. um die HTML-Struktur umzubauen, Attribute doppelt auszugeben, bestimmte Formatierungen vorzunehmen, Daten aus weiteren MetaModels zu beziehen u.v.a.m.
  
 
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.
 
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.
Zeile 19: Zeile 19:
 
== 2. Wie sehe ich, was alles an Attributen zur Verfügung steht? ==
 
== 2. Wie sehe ich, was alles an Attributen zur Verfügung steht? ==
  
Für das "Debugging" der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine "Echo-Ausgabe" in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffenen das neu angelegte Template "metamodel_pr_spezialliste".
+
Für das "Debugging" der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine "Echo-Ausgabe" in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffnen das neu angelegte Template "metamodel_pr_spezialliste".
  
 
In den Quelltext fügen wir ein "print_r" ein (Zeile 6 bis 10):
 
In den Quelltext fügen wir ein "print_r" ein (Zeile 6 bis 10):

Version vom 2. Dezember 2014, 22:42 Uhr

MetaModels (MM) bringt für die Ausgabe einer Liste ein Standard-Template mit. Mit diesem Template lassen sich alle Attribute ausgeben und prüfen. Für viele Anwendungen wird man das Template aber anpassen müssen z.B. um die HTML-Struktur umzubauen, Attribute doppelt auszugeben, bestimmte Formatierungen vorzunehmen, Daten aus weiteren MetaModels zu beziehen u.v.a.m.

Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.

Voraussetzung: das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element "MetaModel-Liste" werden die Daten (Attribute) im Frontend (FE) ausgegeben.

1. Wo finde ich das Template?

In dem Content-Element "MetaModel-Liste" kann ein FE unter " MetaModel-Rendering" ausgewählt werden (ce_metamodel_list). An der Stelle hat man Zugriff auf die Überschrift und Paginierung der Liste - um die Ausgabe der Items zu beeinflussen, muss man einen Schritt "vorher einsteigen".

In den MetaModels-Einstellungen > Rendereinstellungen des MM > Eigenschaften (Stift) der FE-Liste kann in den "Grundeinstellungen" ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout > Template und legen eine Kopie von "metamodel_prerendered" an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit "metamodel_". Zum Beispiel kann die Datei als "metamodel_pr_spezialliste" bezeichnet werden.

Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen > Rendereinstellungen des MM > Eigenschaften (Stift) der FE-Liste > Grundeinstellungen ausgewählt werden.

Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.

2. Wie sehe ich, was alles an Attributen zur Verfügung steht?

Für das "Debugging" der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine "Echo-Ausgabe" in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffnen das neu angelegte Template "metamodel_pr_spezialliste".

In den Quelltext fügen wir ein "print_r" ein (Zeile 6 bis 10):

<?php $strRendersettings = isset($this->settings)? 'settings' : 'view'; ?>
<?php if (count($this->data)): ?>
 
<div class="layout_full">
 
<?php 
echo "<!-- \n";
print_r($this->items->parseAll($this->getFormat(), $this->view)); 
echo "\n -->";
?>
 
<?php foreach ($this->data as $arrItem): ?>
<div class="item <?php echo $arrItem['class']; ?>">
 
<?php foreach ($arrItem['attributes'] as $field => $strName): ?>
...

Anschließend kann die Seite in der FE-Ausgabe neu geladen und im HTML-Quelltext (Shortcut FF und IE: Strg-u) das ausgegebene Array analysiert werden.

Für Fragen im Forum kann die Ausgabe - oder Teile davon - gepostet werden oder man stellt einen Link zur Testseite zur Verfügung mit dem Hinweis, auf die Quelltext-Ausgabe.

Ansichten
Meine Werkzeuge

Contao Community Documentation

Das hier ist eine abstrakte Konversation

Marc A. Harnos
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge