<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://dev.contaowiki.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://dev.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zonky</id>
		<title>Contao Community Documentation - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://dev.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zonky"/>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/Spezial:Beitr%C3%A4ge/Zonky"/>
		<updated>2026-05-13T09:58:02Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen</id>
		<title>MetaModels Beispiel: FE-Template anpassen</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen"/>
				<updated>2014-12-19T09:11:29Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: /* 2. Wie sehe ich, was alles an Attributen (Werten) zur Verfügung steht? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Extensions]]&lt;br /&gt;
[[Category:MetaModels|T]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.&lt;br /&gt;
&lt;br /&gt;
'''Voraussetzung:''' das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element &amp;quot;MetaModel-Liste&amp;quot; werden die Daten (Attribute) im Frontend (FE) ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== 1. Wo finde ich das Template? ==&lt;br /&gt;
&lt;br /&gt;
In dem Content-Element &amp;quot;MetaModel-Liste&amp;quot; kann ein FE unter &amp;quot; MetaModel-Rendering&amp;quot; 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 &amp;quot;vorher einsteigen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste kann in den &amp;quot;Grundeinstellungen&amp;quot; ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout &amp;gt; Template und legen eine Kopie von &amp;quot;metamodel_prerendered&amp;quot; an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit &amp;quot;metamodel_&amp;quot;. Zum Beispiel kann die Datei als &amp;quot;metamodel_pr_spezialliste&amp;quot; bezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste &amp;gt; Grundeinstellungen ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Hinweis zur Länge des Dateinamens: der Dateiname kann über das BE nur eine bestimmte Länge haben - bis Contao 3.3.x sind das 32 Zeichen und ab 3.4.x 64 Zeichen.&lt;br /&gt;
&lt;br /&gt;
== 2. Wie sehe ich, was alles an Attributen (Werten) zur Verfügung steht? ==&lt;br /&gt;
&lt;br /&gt;
Für das &amp;quot;Debugging&amp;quot; der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine &amp;quot;Echo-Ausgabe&amp;quot; in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffnen das neu angelegte Template &amp;quot;metamodel_pr_spezialliste&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den Quelltext fügen wir ein &amp;quot;print_r&amp;quot; ein (Zeile 6 bis 10):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $strRendersettings = isset($this-&amp;gt;settings)? 'settings' : 'view'; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (count($this-&amp;gt;data)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;layout_full&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
echo &amp;quot;&amp;lt;!-- \n&amp;quot;;&lt;br /&gt;
print_r($this-&amp;gt;items-&amp;gt;parseAll($this-&amp;gt;getFormat(), $this-&amp;gt;view)); &lt;br /&gt;
echo &amp;quot;\n --&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item &amp;lt;?php echo $arrItem['class']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($arrItem['attributes'] as $field =&amp;gt; $strName): ?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
In dem Array gibt es (z.Z.) drei verschiedene Knoten, die sich anhand der Ausgabevarianten ergeben. Das sind [raw], [text] und [html5] - in [raw] werden alle vorhanden Attribute ausgegeben und in [text] und [html5] nur die vorhanden Attribute, die auf &amp;quot;Sichtbar&amp;quot; (Auge grün) gestellt sind.&lt;br /&gt;
&lt;br /&gt;
Für Fragen im [https://community.contao.org/de/forumdisplay.php?149-MetaModels Forum] kann die Ausgabe - oder Teile davon - gepostet werden (unbedingt als &amp;quot;Quelltext&amp;quot; formatieren) oder man stellt einen Link zur Testseite zur Verfügung mit dem Hinweis, auf die Quelltext-Ausgabe.&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen</id>
		<title>MetaModels Beispiel: FE-Template anpassen</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen"/>
				<updated>2014-12-19T09:10:51Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: /* 2. Wie sehe ich, was alles an Attributen (Werten) zur Verfügung steht? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Extensions]]&lt;br /&gt;
[[Category:MetaModels|T]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.&lt;br /&gt;
&lt;br /&gt;
'''Voraussetzung:''' das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element &amp;quot;MetaModel-Liste&amp;quot; werden die Daten (Attribute) im Frontend (FE) ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== 1. Wo finde ich das Template? ==&lt;br /&gt;
&lt;br /&gt;
In dem Content-Element &amp;quot;MetaModel-Liste&amp;quot; kann ein FE unter &amp;quot; MetaModel-Rendering&amp;quot; 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 &amp;quot;vorher einsteigen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste kann in den &amp;quot;Grundeinstellungen&amp;quot; ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout &amp;gt; Template und legen eine Kopie von &amp;quot;metamodel_prerendered&amp;quot; an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit &amp;quot;metamodel_&amp;quot;. Zum Beispiel kann die Datei als &amp;quot;metamodel_pr_spezialliste&amp;quot; bezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste &amp;gt; Grundeinstellungen ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Hinweis zur Länge des Dateinamens: der Dateiname kann über das BE nur eine bestimmte Länge haben - bis Contao 3.3.x sind das 32 Zeichen und ab 3.4.x 64 Zeichen.&lt;br /&gt;
&lt;br /&gt;
== 2. Wie sehe ich, was alles an Attributen (Werten) zur Verfügung steht? ==&lt;br /&gt;
&lt;br /&gt;
Für das &amp;quot;Debugging&amp;quot; der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine &amp;quot;Echo-Ausgabe&amp;quot; in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffnen das neu angelegte Template &amp;quot;metamodel_pr_spezialliste&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den Quelltext fügen wir ein &amp;quot;print_r&amp;quot; ein (Zeile 6 bis 10):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $strRendersettings = isset($this-&amp;gt;settings)? 'settings' : 'view'; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (count($this-&amp;gt;data)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;layout_full&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
echo &amp;quot;&amp;lt;!-- \n&amp;quot;;&lt;br /&gt;
print_r($this-&amp;gt;items-&amp;gt;parseAll($this-&amp;gt;getFormat(), $this-&amp;gt;view)); &lt;br /&gt;
echo &amp;quot;\n --&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item &amp;lt;?php echo $arrItem['class']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($arrItem['attributes'] as $field =&amp;gt; $strName): ?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
In dem Array gibt es (z.Z.) drei verschiedene Knoten, die sich anhand der Ausgabevarianten ergenen. Das sind [raw], [text] und [html5] - in [raw] werden alle vorhanden Attribute ausgegeben und in [text] und [html5] nur die vorhanden Attribute, die auf &amp;quot;Sichtbar&amp;quot; (Auge grün) gestellt sind.&lt;br /&gt;
&lt;br /&gt;
Für Fragen im [https://community.contao.org/de/forumdisplay.php?149-MetaModels Forum] kann die Ausgabe - oder Teile davon - gepostet werden (unbedingt als &amp;quot;Quelltext&amp;quot; formatieren) oder man stellt einen Link zur Testseite zur Verfügung mit dem Hinweis, auf die Quelltext-Ausgabe.&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen</id>
		<title>MetaModels Beispiel: FE-Template anpassen</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen"/>
				<updated>2014-12-19T09:09:44Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: /* 2. Wie sehe ich, was alles an Attributen (Werten) zur Verfügung steht? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Extensions]]&lt;br /&gt;
[[Category:MetaModels|T]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.&lt;br /&gt;
&lt;br /&gt;
'''Voraussetzung:''' das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element &amp;quot;MetaModel-Liste&amp;quot; werden die Daten (Attribute) im Frontend (FE) ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== 1. Wo finde ich das Template? ==&lt;br /&gt;
&lt;br /&gt;
In dem Content-Element &amp;quot;MetaModel-Liste&amp;quot; kann ein FE unter &amp;quot; MetaModel-Rendering&amp;quot; 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 &amp;quot;vorher einsteigen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste kann in den &amp;quot;Grundeinstellungen&amp;quot; ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout &amp;gt; Template und legen eine Kopie von &amp;quot;metamodel_prerendered&amp;quot; an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit &amp;quot;metamodel_&amp;quot;. Zum Beispiel kann die Datei als &amp;quot;metamodel_pr_spezialliste&amp;quot; bezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste &amp;gt; Grundeinstellungen ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Hinweis zur Länge des Dateinamens: der Dateiname kann über das BE nur eine bestimmte Länge haben - bis Contao 3.3.x sind das 32 Zeichen und ab 3.4.x 64 Zeichen.&lt;br /&gt;
&lt;br /&gt;
== 2. Wie sehe ich, was alles an Attributen (Werten) zur Verfügung steht? ==&lt;br /&gt;
&lt;br /&gt;
Für das &amp;quot;Debugging&amp;quot; der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine &amp;quot;Echo-Ausgabe&amp;quot; in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffnen das neu angelegte Template &amp;quot;metamodel_pr_spezialliste&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den Quelltext fügen wir ein &amp;quot;print_r&amp;quot; ein (Zeile 6 bis 10):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $strRendersettings = isset($this-&amp;gt;settings)? 'settings' : 'view'; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (count($this-&amp;gt;data)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;layout_full&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
echo &amp;quot;&amp;lt;!-- \n&amp;quot;;&lt;br /&gt;
print_r($this-&amp;gt;items-&amp;gt;parseAll($this-&amp;gt;getFormat(), $this-&amp;gt;view)); &lt;br /&gt;
echo &amp;quot;\n --&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item &amp;lt;?php echo $arrItem['class']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($arrItem['attributes'] as $field =&amp;gt; $strName): ?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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. In dem Array gibt es (z.Z.) drei verschiedene Knoten, die sich anhand der Ausgabevarianten ergenen. Das sind [raw], [text] und [html5] - in [raw] werden alle vorhanden Attribute ausgegeben und in [text] und [html5] nur die vorhanden Attribute, die auf &amp;quot;Sichtbar&amp;quot; (Auge grün) gestellt sind.&lt;br /&gt;
&lt;br /&gt;
Für Fragen im [https://community.contao.org/de/forumdisplay.php?149-MetaModels Forum] kann die Ausgabe - oder Teile davon - gepostet werden (unbedingt als &amp;quot;Quelltext&amp;quot; formatieren) oder man stellt einen Link zur Testseite zur Verfügung mit dem Hinweis, auf die Quelltext-Ausgabe.&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen</id>
		<title>MetaModels Beispiel: FE-Template anpassen</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen"/>
				<updated>2014-12-19T08:09:32Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: /* 1. Wo finde ich das Template? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Extensions]]&lt;br /&gt;
[[Category:MetaModels|T]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.&lt;br /&gt;
&lt;br /&gt;
'''Voraussetzung:''' das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element &amp;quot;MetaModel-Liste&amp;quot; werden die Daten (Attribute) im Frontend (FE) ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== 1. Wo finde ich das Template? ==&lt;br /&gt;
&lt;br /&gt;
In dem Content-Element &amp;quot;MetaModel-Liste&amp;quot; kann ein FE unter &amp;quot; MetaModel-Rendering&amp;quot; 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 &amp;quot;vorher einsteigen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste kann in den &amp;quot;Grundeinstellungen&amp;quot; ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout &amp;gt; Template und legen eine Kopie von &amp;quot;metamodel_prerendered&amp;quot; an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit &amp;quot;metamodel_&amp;quot;. Zum Beispiel kann die Datei als &amp;quot;metamodel_pr_spezialliste&amp;quot; bezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste &amp;gt; Grundeinstellungen ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Hinweis zur Länge des Dateinamens: der Dateiname kann über das BE nur eine bestimmte Länge haben - bis Contao 3.3.x sind das 32 Zeichen und ab 3.4.x 64 Zeichen.&lt;br /&gt;
&lt;br /&gt;
== 2. Wie sehe ich, was alles an Attributen (Werten) zur Verfügung steht? ==&lt;br /&gt;
&lt;br /&gt;
Für das &amp;quot;Debugging&amp;quot; der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine &amp;quot;Echo-Ausgabe&amp;quot; in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffnen das neu angelegte Template &amp;quot;metamodel_pr_spezialliste&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den Quelltext fügen wir ein &amp;quot;print_r&amp;quot; ein (Zeile 6 bis 10):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $strRendersettings = isset($this-&amp;gt;settings)? 'settings' : 'view'; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (count($this-&amp;gt;data)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;layout_full&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
echo &amp;quot;&amp;lt;!-- \n&amp;quot;;&lt;br /&gt;
print_r($this-&amp;gt;items-&amp;gt;parseAll($this-&amp;gt;getFormat(), $this-&amp;gt;view)); &lt;br /&gt;
echo &amp;quot;\n --&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item &amp;lt;?php echo $arrItem['class']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($arrItem['attributes'] as $field =&amp;gt; $strName): ?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Für Fragen im [https://community.contao.org/de/forumdisplay.php?149-MetaModels Forum] kann die Ausgabe - oder Teile davon - gepostet werden (unbedingt als &amp;quot;Quelltext&amp;quot; formatieren) oder man stellt einen Link zur Testseite zur Verfügung mit dem Hinweis, auf die Quelltext-Ausgabe.&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen</id>
		<title>MetaModels Beispiel: FE-Template anpassen</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen"/>
				<updated>2014-12-03T07:06:15Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: /* 2. Wie sehe ich, was alles an Attributen (Werten) zur Verfügung steht? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Extensions]]&lt;br /&gt;
[[Category:MetaModels|T]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.&lt;br /&gt;
&lt;br /&gt;
'''Voraussetzung:''' das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element &amp;quot;MetaModel-Liste&amp;quot; werden die Daten (Attribute) im Frontend (FE) ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== 1. Wo finde ich das Template? ==&lt;br /&gt;
&lt;br /&gt;
In dem Content-Element &amp;quot;MetaModel-Liste&amp;quot; kann ein FE unter &amp;quot; MetaModel-Rendering&amp;quot; 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 &amp;quot;vorher einsteigen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste kann in den &amp;quot;Grundeinstellungen&amp;quot; ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout &amp;gt; Template und legen eine Kopie von &amp;quot;metamodel_prerendered&amp;quot; an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit &amp;quot;metamodel_&amp;quot;. Zum Beispiel kann die Datei als &amp;quot;metamodel_pr_spezialliste&amp;quot; bezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste &amp;gt; Grundeinstellungen ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== 2. Wie sehe ich, was alles an Attributen (Werten) zur Verfügung steht? ==&lt;br /&gt;
&lt;br /&gt;
Für das &amp;quot;Debugging&amp;quot; der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine &amp;quot;Echo-Ausgabe&amp;quot; in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffnen das neu angelegte Template &amp;quot;metamodel_pr_spezialliste&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den Quelltext fügen wir ein &amp;quot;print_r&amp;quot; ein (Zeile 6 bis 10):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $strRendersettings = isset($this-&amp;gt;settings)? 'settings' : 'view'; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (count($this-&amp;gt;data)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;layout_full&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
echo &amp;quot;&amp;lt;!-- \n&amp;quot;;&lt;br /&gt;
print_r($this-&amp;gt;items-&amp;gt;parseAll($this-&amp;gt;getFormat(), $this-&amp;gt;view)); &lt;br /&gt;
echo &amp;quot;\n --&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item &amp;lt;?php echo $arrItem['class']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($arrItem['attributes'] as $field =&amp;gt; $strName): ?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Für Fragen im [https://community.contao.org/de/forumdisplay.php?149-MetaModels Forum] kann die Ausgabe - oder Teile davon - gepostet werden (unbedingt als &amp;quot;Quelltext&amp;quot; formatieren) oder man stellt einen Link zur Testseite zur Verfügung mit dem Hinweis, auf die Quelltext-Ausgabe.&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen</id>
		<title>MetaModels Beispiel: FE-Template anpassen</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen"/>
				<updated>2014-12-03T07:04:40Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: /* 2. Wie sehe ich, was alles an Attributen zur Verfügung steht? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Extensions]]&lt;br /&gt;
[[Category:MetaModels|T]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.&lt;br /&gt;
&lt;br /&gt;
'''Voraussetzung:''' das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element &amp;quot;MetaModel-Liste&amp;quot; werden die Daten (Attribute) im Frontend (FE) ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== 1. Wo finde ich das Template? ==&lt;br /&gt;
&lt;br /&gt;
In dem Content-Element &amp;quot;MetaModel-Liste&amp;quot; kann ein FE unter &amp;quot; MetaModel-Rendering&amp;quot; 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 &amp;quot;vorher einsteigen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste kann in den &amp;quot;Grundeinstellungen&amp;quot; ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout &amp;gt; Template und legen eine Kopie von &amp;quot;metamodel_prerendered&amp;quot; an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit &amp;quot;metamodel_&amp;quot;. Zum Beispiel kann die Datei als &amp;quot;metamodel_pr_spezialliste&amp;quot; bezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste &amp;gt; Grundeinstellungen ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== 2. Wie sehe ich, was alles an Attributen (Werten) zur Verfügung steht? ==&lt;br /&gt;
&lt;br /&gt;
Für das &amp;quot;Debugging&amp;quot; der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine &amp;quot;Echo-Ausgabe&amp;quot; in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffnen das neu angelegte Template &amp;quot;metamodel_pr_spezialliste&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den Quelltext fügen wir ein &amp;quot;print_r&amp;quot; ein (Zeile 6 bis 10):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $strRendersettings = isset($this-&amp;gt;settings)? 'settings' : 'view'; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (count($this-&amp;gt;data)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;layout_full&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
echo &amp;quot;&amp;lt;!-- \n&amp;quot;;&lt;br /&gt;
print_r($this-&amp;gt;items-&amp;gt;parseAll($this-&amp;gt;getFormat(), $this-&amp;gt;view)); &lt;br /&gt;
echo &amp;quot;\n --&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item &amp;lt;?php echo $arrItem['class']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($arrItem['attributes'] as $field =&amp;gt; $strName): ?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Für Fragen im [https://community.contao.org/de/forumdisplay.php?149-MetaModels 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.&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen</id>
		<title>MetaModels Beispiel: FE-Template anpassen</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen"/>
				<updated>2014-12-02T21:42:38Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Extensions]]&lt;br /&gt;
[[Category:MetaModels|T]]&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.&lt;br /&gt;
&lt;br /&gt;
'''Voraussetzung:''' das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element &amp;quot;MetaModel-Liste&amp;quot; werden die Daten (Attribute) im Frontend (FE) ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== 1. Wo finde ich das Template? ==&lt;br /&gt;
&lt;br /&gt;
In dem Content-Element &amp;quot;MetaModel-Liste&amp;quot; kann ein FE unter &amp;quot; MetaModel-Rendering&amp;quot; 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 &amp;quot;vorher einsteigen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste kann in den &amp;quot;Grundeinstellungen&amp;quot; ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout &amp;gt; Template und legen eine Kopie von &amp;quot;metamodel_prerendered&amp;quot; an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit &amp;quot;metamodel_&amp;quot;. Zum Beispiel kann die Datei als &amp;quot;metamodel_pr_spezialliste&amp;quot; bezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste &amp;gt; Grundeinstellungen ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== 2. Wie sehe ich, was alles an Attributen zur Verfügung steht? ==&lt;br /&gt;
&lt;br /&gt;
Für das &amp;quot;Debugging&amp;quot; der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine &amp;quot;Echo-Ausgabe&amp;quot; in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffnen das neu angelegte Template &amp;quot;metamodel_pr_spezialliste&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den Quelltext fügen wir ein &amp;quot;print_r&amp;quot; ein (Zeile 6 bis 10):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $strRendersettings = isset($this-&amp;gt;settings)? 'settings' : 'view'; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (count($this-&amp;gt;data)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;layout_full&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
echo &amp;quot;&amp;lt;!-- \n&amp;quot;;&lt;br /&gt;
print_r($this-&amp;gt;items-&amp;gt;parseAll($this-&amp;gt;getFormat(), $this-&amp;gt;view)); &lt;br /&gt;
echo &amp;quot;\n --&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item &amp;lt;?php echo $arrItem['class']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($arrItem['attributes'] as $field =&amp;gt; $strName): ?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Für Fragen im [https://community.contao.org/de/forumdisplay.php?149-MetaModels 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.&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen</id>
		<title>MetaModels Beispiel: FE-Template anpassen</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen"/>
				<updated>2014-12-02T09:05:30Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.&lt;br /&gt;
&lt;br /&gt;
'''Voraussetzung:''' das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element &amp;quot;MetaModel-Liste&amp;quot; werden die Daten (Attribute) im Frontend (FE) ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== 1. Wo finde ich das Template? ==&lt;br /&gt;
&lt;br /&gt;
In dem Content-Element &amp;quot;MetaModel-Liste&amp;quot; kann ein FE unter &amp;quot; MetaModel-Rendering&amp;quot; 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 &amp;quot;vorher einsteigen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste kann in den &amp;quot;Grundeinstellungen&amp;quot; ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout &amp;gt; Template und legen eine Kopie von &amp;quot;metamodel_prerendered&amp;quot; an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit &amp;quot;metamodel_&amp;quot;. Zum Beispiel kann die Datei als &amp;quot;metamodel_pr_spezialliste&amp;quot; bezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste &amp;gt; Grundeinstellungen ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.&lt;br /&gt;
&lt;br /&gt;
== 2. Wie sehe ich, was alles an Attributen zur Verfügung steht? ==&lt;br /&gt;
&lt;br /&gt;
Für das &amp;quot;Debugging&amp;quot; der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine &amp;quot;Echo-Ausgabe&amp;quot; in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffenen das neu angelegte Template &amp;quot;metamodel_pr_spezialliste&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den Quelltext fügen wir ein &amp;quot;print_r&amp;quot; ein (Zeile 6 bis 10):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $strRendersettings = isset($this-&amp;gt;settings)? 'settings' : 'view'; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (count($this-&amp;gt;data)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;layout_full&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
echo &amp;quot;&amp;lt;!-- \n&amp;quot;;&lt;br /&gt;
print_r($this-&amp;gt;items-&amp;gt;parseAll($this-&amp;gt;getFormat(), $this-&amp;gt;view)); &lt;br /&gt;
echo &amp;quot;\n --&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item &amp;lt;?php echo $arrItem['class']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($arrItem['attributes'] as $field =&amp;gt; $strName): ?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Für Fragen im [https://community.contao.org/de/forumdisplay.php?149-MetaModels 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.&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen</id>
		<title>MetaModels Beispiel: FE-Template anpassen</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen"/>
				<updated>2014-12-02T09:02:26Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.&lt;br /&gt;
&lt;br /&gt;
Voraussetzung: das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element &amp;quot;MetaModel-Liste&amp;quot; werden die Daten (Attribute) im Frontend (FE) ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== 1. Wo finde ich das Template? ==&lt;br /&gt;
&lt;br /&gt;
In dem Content-Element &amp;quot;MetaModel-Liste&amp;quot; kann ein FE unter &amp;quot; MetaModel-Rendering&amp;quot; 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 &amp;quot;vorher einsteigen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste kann in den &amp;quot;Grundeinstellungen&amp;quot; ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout &amp;gt; Template und legen eine Kopie von &amp;quot;metamodel_prerendered&amp;quot; an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit &amp;quot;metamodel_&amp;quot;. Zum Beispiel kann die Datei als &amp;quot;metamodel_pr_spezialliste&amp;quot; bezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste &amp;gt; Grundeinstellungen ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2. Wie sehe ich, was alles an Attributen zur Verfügung steht? ==&lt;br /&gt;
&lt;br /&gt;
Für das &amp;quot;Debugging&amp;quot; der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine &amp;quot;Echo-Ausgabe&amp;quot; in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffenen das neu angelegte Template &amp;quot;metamodel_pr_spezialliste&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den Quelltext fügen wir ein &amp;quot;print_r&amp;quot; ein (Zeile 6 bis 10):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $strRendersettings = isset($this-&amp;gt;settings)? 'settings' : 'view'; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (count($this-&amp;gt;data)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;layout_full&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
echo &amp;quot;&amp;lt;!-- \n&amp;quot;;&lt;br /&gt;
print_r($this-&amp;gt;items-&amp;gt;parseAll($this-&amp;gt;getFormat(), $this-&amp;gt;view)); &lt;br /&gt;
echo &amp;quot;\n --&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item &amp;lt;?php echo $arrItem['class']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($arrItem['attributes'] as $field =&amp;gt; $strName): ?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anschließend kann die Seite in der FE-Ausgabe neu geladen werden und im HTML-Quelltext (Shortcut FF und IE: Strg-u) das Array analysiert werden.&lt;br /&gt;
&lt;br /&gt;
Für Fragen im [https://community.contao.org/de/forumdisplay.php?149-MetaModels 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.&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen</id>
		<title>MetaModels Beispiel: FE-Template anpassen</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_FE-Template_anpassen"/>
				<updated>2014-12-02T08:55:24Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: Debug der Items im HTML-Quelltext&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden sollen eine Tipps den Einstieg in die Bearbeitung des Templates erleichtern.&lt;br /&gt;
&lt;br /&gt;
Voraussetzung: das oder die MetaModels sind angelegt, mit einigen (Test-) Daten gefüllt und über das Content-Element &amp;quot;MetaModel-Liste&amp;quot; werden die Daten (Attribute) im Frontend (FE) ausgegeben.&lt;br /&gt;
&lt;br /&gt;
1. Wo finde ich das Template?&lt;br /&gt;
&lt;br /&gt;
In dem Content-Element &amp;quot;MetaModel-Liste&amp;quot; kann ein FE unter &amp;quot; MetaModel-Rendering&amp;quot; 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 &amp;quot;vorher einsteigen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste kann in den &amp;quot;Grundeinstellungen&amp;quot; ein eigenes Template ausgewählt werden (metamodel_prerendered). Um ein eigens Template anzulegen, wechseln wir zu Layout &amp;gt; Template und legen eine Kopie von &amp;quot;metamodel_prerendered&amp;quot; an. Der Dateiname kann individuell angepasst werden - starten muss der Dateiname mit &amp;quot;metamodel_&amp;quot;. Zum Beispiel kann die Datei als &amp;quot;metamodel_pr_spezialliste&amp;quot; bezeichnet werden.&lt;br /&gt;
&lt;br /&gt;
Anschließend muss das erstellte Template wieder in den MetaModels-Einstellungen &amp;gt; Rendereinstellungen des MM &amp;gt; Eigenschaften (Stift) der FE-Liste &amp;gt; Grundeinstellungen ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Vorbereitung in diesem Punkt abgeschlossen und das Template kann an die individuellen Wünsche angepasst werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Wie sehe ich, was alles an Attributen zur Verfügung steht?&lt;br /&gt;
&lt;br /&gt;
Für das &amp;quot;Debugging&amp;quot; der Listenausgabe gibt es verschiedene Möglichkeiten - eine einfache Methode ist eine &amp;quot;Echo-Ausgabe&amp;quot; in den HTML-Quelltext. Dazu gehen wir zu den Templates und öffenen das neu angelegte Template &amp;quot;metamodel_pr_spezialliste&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In den Quelltext fügen wir ein &amp;quot;print_r&amp;quot; ein (Zeile 6 bis 10):&lt;br /&gt;
&lt;br /&gt;
[code]&lt;br /&gt;
&amp;lt;?php $strRendersettings = isset($this-&amp;gt;settings)? 'settings' : 'view'; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (count($this-&amp;gt;data)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;layout_full&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
echo &amp;quot;&amp;lt;!-- \n&amp;quot;;&lt;br /&gt;
print_r($this-&amp;gt;items-&amp;gt;parseAll($this-&amp;gt;getFormat(), $this-&amp;gt;view)); &lt;br /&gt;
echo &amp;quot;\n --&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item &amp;lt;?php echo $arrItem['class']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($arrItem['attributes'] as $field =&amp;gt; $strName): ?&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
[/code]&lt;br /&gt;
&lt;br /&gt;
Anschließend kann die Seite in der FE-Ausgabe neu geladen werden und im HTML-Quelltext (Shortcut FF und IE: Strg-u) das Array analysiert werden.&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels</id>
		<title>MetaModels</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels"/>
				<updated>2014-12-02T08:05:19Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: /* Tipps und Tricks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Extensions]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
{{ExtInfo&lt;br /&gt;
| Dev=Metamodels Team&lt;br /&gt;
| DevSite=&lt;br /&gt;
| Version=ab 2.11.X&lt;br /&gt;
| ERLink=&lt;br /&gt;
| VCSLink=https://github.com/MetaModels/core&lt;br /&gt;
| TrackerLink=https://github.com/MetaModels/core/issues&lt;br /&gt;
| Depending=[[DC_General]] [[Justtextwidgets]] [[MultiColumnWizard]] [[MetaPalettes]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Vorwort: Wiki-Dokumentation der Erweiterung MetaModels (Nachfolger des Catalog)=&lt;br /&gt;
Die Erweiterung MetaModels ist der Nachfolger der Catalog-Extension. Der Code wurde komplett neu entwickelt. Eine Kompatibilität zum Catalog besteht nicht.&lt;br /&gt;
&lt;br /&gt;
===Vorgehensschritte===&lt;br /&gt;
# [[MetaModels|Start: Installation]] - Download und Installation von MetaModels&lt;br /&gt;
# [[MetaModels_Beispiel_1|Beispiel 1: Backend einrichten]] - MetaModel erstellen, Daten erfassen&lt;br /&gt;
# [[MetaModels_Beispiel_2|Beispiel 2: Frontend einrichten]] - Die Inhalte im Frontend anzeigen (Liste und Detail)&lt;br /&gt;
# [[MetaModels_Beispiel_3|Beispiel 3: Weitere Filter einrichten]] – Inhalte auf Published setzen, einfache Select-Filter&lt;br /&gt;
# [[MetaModels_Beispiel_4|Beispiel 4: Weiteres MetaModels einrichten]] - komplexe Select-Filter einsetzen&lt;br /&gt;
&lt;br /&gt;
=Download &amp;amp; Installation=&lt;br /&gt;
&lt;br /&gt;
==Download von der Demosite==&lt;br /&gt;
[[Datei:logo-metamodels.png|link=|left|105px]]&lt;br /&gt;
Unter der URL [http://now.metamodel.me now.metamodel.me] findet sich die Webseite zur Extension mit einer Frontentdemo und der Möglichkeit, Installationsarchive in den Formaten '''tgz''', '''tbz''' und '''zip''' mit so genannten Nightly Builds zu laden. Diese Archive beinhalten die MetaModels-Dateien, Attribute, Filter sowie sämtliche anderen Erweiterungen, die für den Betrieb nötig sind und ansonsten separat heruntergeladen und installiert werden müssen.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation via Composer==&lt;br /&gt;
&lt;br /&gt;
MetaModels kann vollständig über [http://de.contaowiki.org/Composer Composer] installiert werden. Alle Attribute liegen auf [https://packagist.org/ Packagist] und werden vom offiziellen MetaModels Team betreut. Für die Installation von MetaModels über Composer muss man lediglich nach &amp;quot;metamodels&amp;quot; suchen, alle verfügbaren Pakete werden danach aufgelistet.&lt;br /&gt;
&lt;br /&gt;
==Download aus dem Entwicklungsrepository GitHub==&lt;br /&gt;
&lt;br /&gt;
[[Datei:logo-github.png|link=|left|105px]]&lt;br /&gt;
Zu finden ist die Erweiterung MetaModels auf GitHub:&lt;br /&gt;
[https://github.com/MetaModels github.com/Metamodels]&amp;lt;br&amp;gt;&lt;br /&gt;
Aktuell können das Core, dazu abhängige weitere Erweiterungen und alle weiteren MetaModels Attribute/Filter manuell installiert werden.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Core===&lt;br /&gt;
* [https://github.com/MetaModels/core MetaModels (Das Core-Modul)]&lt;br /&gt;
* [https://github.com/MetaModels/boilerplate Boilerplate (Erzeugt einen separaten Bereich in der Backend-Navigation)]&lt;br /&gt;
&lt;br /&gt;
===Abhängigkeiten===&lt;br /&gt;
Benötigt werden folgende Erweiterungen:&lt;br /&gt;
* [https://github.com/MetaModels DC_General]&lt;br /&gt;
* [https://contao.org/de/extension-list/view/MetaPalettes.html MetaPalettes]&lt;br /&gt;
* [http://www.contao.org/erweiterungsliste/view/MultiColumnWizard.html MultiColumnWizard]&lt;br /&gt;
* [https://github.com/Discordier/justtextwidgets justtextwidgets]&lt;br /&gt;
* [https://contao.org/de/extension-list/view/geoprotection.de.html geoprotection] (wird nur für das Attribut '''Geoprotection''' benötigt)&lt;br /&gt;
&lt;br /&gt;
===Verfügbare Attribute und Filter===&lt;br /&gt;
Sobald der Core und alle benötigten sonstigen Erweiterungen installiert sind, werden die weiteren Attributs- und Filterextensions des MetaModels benötigt.&lt;br /&gt;
Dazu gehören:&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Attribute''' !! '''Attribute (translated)''' !! '''Filter'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [https://github.com/MetaModels/attribute_alias Attribut: Alias]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_checkbox Attribut: Checkbox (Kontrollkästchen)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_combinedvalues Attribut: Combined Values (Kombinierte Einträge)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_color Attribut: Color (Farbe)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_country Attribut: Country (Land)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_decimal Attribut: Decimal (Dezimal)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_file Attribut: File (Datei)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_geoprotection Attribut: Geoprotection (Länderzuordnung)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_langcode Attribut: Langcode (Sprachschlüssel)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_longtext Attribut: Longtext (Langtext, Textarea)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_select Attribut: Select (Auswahl)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_numeric Attribut: Numeric (Numerisch)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_rating Attribut: Rating (Bewertung)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_tags Attribut: Tags  (Mehrfachauswahl)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_text Attribut: Text]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_timestamp Attribut: Timestamp (Datum)]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_url Attribut: URL]&lt;br /&gt;
|&lt;br /&gt;
* [https://github.com/MetaModels/attribute_translatedalias Attribut: Translated Alias]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_translatedfile Attribut: Translated File]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_translatedlongtext Attribut: Translated Longtext]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_translatedselect Attribut: Translated Select]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_translatedtags Attribut: Translated Tags]&lt;br /&gt;
* [https://github.com/MetaModels/attribute_translatedtext Attribut: Translated Text]&lt;br /&gt;
|&lt;br /&gt;
* [https://github.com/MetaModels/filter_checkbox Filter: Checkbox]&lt;br /&gt;
* [https://github.com/MetaModels/filter_fromto Filter: FromTo]&lt;br /&gt;
* [https://github.com/MetaModels/filter_range Filter: Range]&lt;br /&gt;
* [https://github.com/MetaModels/filter_select Filter: Select]&lt;br /&gt;
* [https://github.com/MetaModels/filter_tags Filter: Tags]&lt;br /&gt;
* [https://github.com/MetaModels/filter_text Filter: Text]&lt;br /&gt;
|}&lt;br /&gt;
Attribut- und Filterextensions werden für den Betrieb von MetaModels benötigt. Welche dieser Erweiterungen in einem Projekt zu Einsatz kommen sollen ist abhängig von den benötigten Funktionen.&lt;br /&gt;
{{Hinweis|Das Attribut [https://packagist.org/packages/metamodels/attribute_geoprotection '''Geoprotection'''] ist nicht mehr Teil der Nightly Builds. Es kann aber jederzeit über den oben angegeben Link separat geladen werden.}}{{Hinweis|Das Attribut [https://packagist.org/packages/metamodels/attribute_rating '''Rating'''] benötigt die Extension [https://packagist.org/packages/leounglaub/contao-simple-ajax '''SimpleAjax'''] von leo-unglaub. Das Rating Attribut wird seit einiger Zeit nicht mehr in der Nightly ausgeliefert.}}&lt;br /&gt;
&lt;br /&gt;
==Download via git und Kommandozeile==&lt;br /&gt;
In einer bash (Linux Kommandozeile bzw. cygwin Kommandozeile) kann man sich auch alle Unterprojekte der MetaModels via git clonen. Man sollte jedoch vorher in den Ordner wechseln, wohin die Projekte heruntergeladen werden sollen.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Linux'''  !! '''MacOS'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
In Benutzerverzeichnis wechseln und für den Pull ein Verzeichniss anlegen.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
mkdir MetaModels&lt;br /&gt;
cd MetaModels&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
In Benutzerverzeichnis wechseln und für den Pull ein Verzeichniss anlegen.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
mkdir MetaModels&lt;br /&gt;
cd MetaModels&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Alle MetaModel Repos holen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for i in `wget -qO- https://api.github.com/orgs/MetaModels/repos | \&lt;br /&gt;
grep clone_url | \&lt;br /&gt;
cut -d \&amp;quot; -f4`; do \&lt;br /&gt;
git clone $i; \&lt;br /&gt;
done;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
Alle MetaModel Repos holen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
for i in `curl https://api.github.com/orgs/MetaModels/repos | \&lt;br /&gt;
grep clone_url | \&lt;br /&gt;
cut -d \&amp;quot; -f4`; do \&lt;br /&gt;
git clone $i; \&lt;br /&gt;
done;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
Die zu installieren Ordner und Dateien müssen zur Installation im Contao-System wie folgt hochgeladen werden:&lt;br /&gt;
{| style=&amp;quot;width:80%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! '''Module''' (/system/modules) !! '''Drivers''' (/system/drivers)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* generalDriver&lt;br /&gt;
* justtextwidgets&lt;br /&gt;
* metamodels&lt;br /&gt;
* metamodels_boilerplate&lt;br /&gt;
* metamodelsattribute_alias&lt;br /&gt;
* metamodelsattribute_checkbox&lt;br /&gt;
* metamodelsattribute_combinedvalues&lt;br /&gt;
* metamodelsattribute_color&lt;br /&gt;
* metamodelsattribute_country&lt;br /&gt;
* metamodelsattribute_decimal&lt;br /&gt;
* metamodelsattribute_file&lt;br /&gt;
* metamodelsattribute_geoprotection&lt;br /&gt;
* metamodelsattribute_langcode&lt;br /&gt;
* metamodelsattribute_longtext&lt;br /&gt;
* metamodelsattribute_numeric&lt;br /&gt;
* metamodelsattribute_rating&lt;br /&gt;
* metamodelsattribute_select&lt;br /&gt;
* metamodelsattribute_tags&lt;br /&gt;
* metamodelsattribute_text&lt;br /&gt;
* metamodelsattribute_timestamp&lt;br /&gt;
* metamodelsattribute_translatedalias&lt;br /&gt;
* metamodelsattribute_translatedfile&lt;br /&gt;
* metamodelsattribute_translatedlongtext&lt;br /&gt;
* metamodelsattribute_translatedselect&lt;br /&gt;
* metamodelsattribute_translatedtags&lt;br /&gt;
* metamodelsattribute_translatedtext&lt;br /&gt;
* metamodelsattribute_url&lt;br /&gt;
* metamodelsfilter_checkbox&lt;br /&gt;
* metamodelsfilter_fromto&lt;br /&gt;
* metamodelsfilter_range&lt;br /&gt;
* metamodelsfilter_select&lt;br /&gt;
* metamodelsfilter_tags&lt;br /&gt;
* metamodelsfilter_text&lt;br /&gt;
* metapalettes&lt;br /&gt;
* multicolumnwizard&lt;br /&gt;
|&lt;br /&gt;
* DC_General.php&lt;br /&gt;
|}&lt;br /&gt;
Danach muss mittels des Installtools ein Update der Datenbank gemacht werden.&lt;br /&gt;
&lt;br /&gt;
=Backend Ansichten=&lt;br /&gt;
&lt;br /&gt;
===Leeres MetaModel===&lt;br /&gt;
[[Datei:MetaModels_Backend_System.png|right|600px]]&lt;br /&gt;
Nach Aktualisierung der Datenbank erscheint '''MetaModels''' neu als eigenständige Einstellung in der Backend-Navigation links.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erweiterungsverwaltung===&lt;br /&gt;
[[Datei:MetaModels_Backend_System_ER.png|right|600px]]&lt;br /&gt;
In der Erweiterungsverwaltung findet sich hingegen nichts, was auf MetaModels hinweist. Aber das ist gut so (Stand Mai 2013).&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===MetaModel mit null Datensätzen===&lt;br /&gt;
[[Datei:MetaModels_Backend_System_Beispiel.png|right|600px]]&lt;br /&gt;
Nachdem ein erstes neues MetaModel erstellt wurde, erscheint folgende Darstellung:&lt;br /&gt;
Weiterführende Informationen zu einem einfachen Praxisbeispiel findet man unter [[MetaModels_Beispielprojekt|MetaModels Beispielprojekt]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Konfiguration=&lt;br /&gt;
&lt;br /&gt;
===Dokumentation der Attribute===&lt;br /&gt;
[[File:icons_attribute.png|left|link=|32px]]&lt;br /&gt;
Zur  [[MetaModels_Backend:_Attribute|Dokumentation der Attribute]].&lt;br /&gt;
&lt;br /&gt;
===Dokumentation der Ausgabevorgaben===&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|link=|32px]]&lt;br /&gt;
Den Überblick findest du [[MetaModels_Backend:_Ausgabevorgaben|hier]].&lt;br /&gt;
&lt;br /&gt;
===Dokumentation der Eingabemaske (fka Paletteneinstellungen)===&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|link=|32px]]&lt;br /&gt;
Den Überblick findest du [[MetaModels_Backend:_Eingabemaske|hier]].&lt;br /&gt;
&lt;br /&gt;
===Dokumentation der Filter===&lt;br /&gt;
[[File:icons_filter.png|left|link=|32px]]&lt;br /&gt;
Zum [[MetaModels_Backend:_Filter|Überblick über die Filter]].&lt;br /&gt;
&lt;br /&gt;
===Dokumentation der Ansichtseinstellungen===&lt;br /&gt;
[[File:icons_ansichtseinstellungen.png|left|link=|32px]]&lt;br /&gt;
Zum [[MetaModels_Backend:_Ansichtseinstellungen|Überblick der Ansichtseinstellungen]].&lt;br /&gt;
&lt;br /&gt;
=Basics=&lt;br /&gt;
Einführende Beispiele, wie man MetaModels einrichten und konfigurieren kann, findet man hier:&lt;br /&gt;
# [[MetaModels_Beispiel_1| Backend einrichten]] - am Beispiel einer Musiksammlung, Eingeben der Sammlung&lt;br /&gt;
# [[MetaModels_Beispiel_2| Frontend einrichten]] - Die Inhalte im Frontend anzeigen (Liste und Detail)&lt;br /&gt;
# [[MetaModels_Beispiel_3| Weitere Filter einrichten]] – Inhalte auf Published setzen, einfache Select-Filter&lt;br /&gt;
# [[MetaModels_Beispiel_4| Weiteres MetaModels einrichten]] - komplexe Select-Filter einsetzen&lt;br /&gt;
# [[MetaModels Insert-Tags| Insert-Tags]] - Insert-Tags in MetaModels&lt;br /&gt;
&lt;br /&gt;
=Tipps und Tricks=&lt;br /&gt;
Umsetzung-Beispiele, wie man MetaModels ausbauen kann, findet man hier:&lt;br /&gt;
# [[MetaModels_Beispiel:_Übersetzter_select| Übersetzer select]] - &amp;quot;Übersetzter select&amp;quot;-Attribut eingerichtet werden.&lt;br /&gt;
# [[MetaModels_Beispiel:_Referenced_items| Referenced items]] - MetaModels miteinder verknüpfen&lt;br /&gt;
# [[MetaModels_Beispiel:_FE-Template_anpassen| FE-Template anpassen]] - FE-Template anpassen&lt;br /&gt;
&lt;br /&gt;
=Frontendausgabe=&lt;br /&gt;
{{Hinweis|Die Dokumentation sollte in eine andere Seite ausgelagert werden}}&lt;br /&gt;
----&lt;br /&gt;
started by: [[Benutzer:Planepix|Planepix]] 00:49, 28. Nov. 2012 (CET)&amp;lt;br&amp;gt;&lt;br /&gt;
completed by [[Benutzer:Luis|Luis]], [[Benutzer:lucina|Lucina]]&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_Referenced_items</id>
		<title>MetaModels Beispiel: Referenced items</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_Referenced_items"/>
				<updated>2014-11-26T11:53:59Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: /* Lösungsansatz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:MetaModels|T2]]&lt;br /&gt;
=MetaModels miteinander verknüpfen=&lt;br /&gt;
==Ausgangslage==&lt;br /&gt;
Es gibt ein MetaModel mit &amp;quot;Kunden&amp;quot; (mm_customers) und eines mit &amp;quot;Projekte&amp;quot; (mm_projects). mm_projects enthält ein Attribut &amp;quot;customer&amp;quot; vom Typ &amp;quot;select&amp;quot;, welches die in mm_customer erfassten Kunden anzeigt. Über dieses Feld wird das Projekt mit dem Kunden verknüpft.&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
Man möchte, dass auf der Detailansicht des Kunden, auch die jeweils dazu gehörigen Projekte angezeigt werden. Von dort möchte man auch per Link auf die Detailansicht des spezifischen Projektes springen können.&lt;br /&gt;
&lt;br /&gt;
==Lösungsansatz==&lt;br /&gt;
Nebst den spezifischen Kunden-Detailinformationen sollen die Projekte gelistet darunter erscheinen. Die Projekte werden jeweils mit einem Titel-Link (h3), einer Kurzbeschreibung und der dazu gehörigen Bildgalerie angezeigt. Die Projekte werden überdies über einen Filter sortiert: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;$objFilter = $objMetaModel-&amp;gt;prepareFilter(10, array()); &amp;lt;/source&amp;gt;&lt;br /&gt;
In diesem Fall ist '10' die ID des Filters im MetaModels 'mm_projects'. Der Filter sorgt dafür, dass die Projekte chronologisch aufgelistet werden.&lt;br /&gt;
&lt;br /&gt;
Das MetaModels-Template könnte wie folgt aussehen:&lt;br /&gt;
{{Hinweis|Beachte das in der TNG Version MetaModels auch auf Namespace umgestellt wurde und die Factory Aufrufe entsprechend anders lauten müssen: \MetaModels\Factory s.u.}}&lt;br /&gt;
&lt;br /&gt;
'''Quelltext ohne Namespace:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
function getProjectsByCustomer($strAlias, $format='html5')&lt;br /&gt;
{&lt;br /&gt;
  $objMetaModel = MetaModelFactory::byTableName('mm_projects');&lt;br /&gt;
  $objFilter = $objMetaModel-&amp;gt;prepareFilter(10, array());&lt;br /&gt;
  $objFilter-&amp;gt;addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel-&amp;gt;getAttribute('customer'), $strAlias, $objMetaModel-&amp;gt;getAvailableLanguages()));&lt;br /&gt;
  $objItems = $objMetaModel-&amp;gt;findByFilter($objFilter);&lt;br /&gt;
  return $objItems-&amp;gt;parseAll($format, $objMetaModel-&amp;gt;getView(3));&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;customer_detailview&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div class=&amp;quot;detailview&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h1 class=&amp;quot;ce_headline&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['customer']; ?&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['description']; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['year']; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;url&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['html5']['url']; ?&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div class=&amp;quot;referenced_projects&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Projekte&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;?php foreach (getProjectsByCustomer($arrItem['raw']['alias']) as $arrProjects): ?&amp;gt;&lt;br /&gt;
    &amp;lt;?php if(!empty($arrProjects['raw']['images'])): ?&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;project&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h3&amp;gt;&lt;br /&gt;
        &amp;lt;a href=&amp;quot;{{env::path}}&amp;lt;?php echo $arrProjects['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['project_name']; ?&amp;gt; &lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
      &amp;lt;/h3&amp;gt;&lt;br /&gt;
      &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['description']; ?&amp;gt;&lt;br /&gt;
      &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['images']; ?&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
  &amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Quelltext mit Namespace:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
function getProjectsByCustomer($strAlias, $format='html5')&lt;br /&gt;
{&lt;br /&gt;
  $objMetaModel = \MetaModels\Factory::byTableName('mm_projects');&lt;br /&gt;
  $objFilter = $objMetaModel-&amp;gt;prepareFilter(10, array());&lt;br /&gt;
  $objFilter-&amp;gt;addFilterRule(new \MetaModels\Filter\Rules\SearchAttribute($objMetaModel-&amp;gt;getAttribute('customer'), $strAlias, $objMetaModel-&amp;gt;getAvailableLanguages()));&lt;br /&gt;
  $objItems = $objMetaModel-&amp;gt;findByFilter($objFilter);&lt;br /&gt;
  return $objItems-&amp;gt;parseAll($format, $objMetaModel-&amp;gt;getView(3));&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;customer_detailview&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div class=&amp;quot;detailview&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h1 class=&amp;quot;ce_headline&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['customer']; ?&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['description']; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['year']; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;url&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['html5']['url']; ?&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div class=&amp;quot;referenced_projects&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Projekte&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;?php foreach (getProjectsByCustomer($arrItem['raw']['alias']) as $arrProjects): ?&amp;gt;&lt;br /&gt;
    &amp;lt;?php if(!empty($arrProjects['raw']['images'])): ?&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;project&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h3&amp;gt;&lt;br /&gt;
        &amp;lt;a href=&amp;quot;{{env::path}}&amp;lt;?php echo $arrProjects['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['project_name']; ?&amp;gt; &lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
      &amp;lt;/h3&amp;gt;&lt;br /&gt;
      &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['description']; ?&amp;gt;&lt;br /&gt;
      &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['images']; ?&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
  &amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	<entry>
		<id>https://dev.contaowiki.org/MetaModels_Beispiel:_Referenced_items</id>
		<title>MetaModels Beispiel: Referenced items</title>
		<link rel="alternate" type="text/html" href="https://dev.contaowiki.org/MetaModels_Beispiel:_Referenced_items"/>
				<updated>2014-11-17T15:49:24Z</updated>
		
		<summary type="html">&lt;p&gt;Zonky: /* Lösungsansatz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:MetaModels|T2]]&lt;br /&gt;
=MetaModels miteinander verknüpfen=&lt;br /&gt;
==Ausgangslage==&lt;br /&gt;
Es gibt ein MetaModel mit &amp;quot;Kunden&amp;quot; (mm_customers) und eines mit &amp;quot;Projekte&amp;quot; (mm_projects). mm_projects enthält ein Attribut &amp;quot;customer&amp;quot; vom Typ &amp;quot;select&amp;quot;, welches die in mm_customer erfassten Kunden anzeigt. Über dieses Feld wird das Projekt mit dem Kunden verknüpft.&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
Man möchte, dass auf der Detailansicht des Kunden, auch die jeweils dazu gehörigen Projekte angezeigt werden. Von dort möchte man auch per Link auf die Detailansicht des spezifischen Projektes springen können.&lt;br /&gt;
&lt;br /&gt;
==Lösungsansatz==&lt;br /&gt;
Nebst den spezifischen Kunden-Detailinformationen sollen die Projekte gelistet darunter erscheinen. Die Projekte werden jeweils mit einem Titel-Link (h3), einer Kurzbeschreibung und der dazu gehörigen Bildgalerie angezeigt. Die Projekte werden überdies über einen Filter sortiert: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;$objFilter = $objMetaModel-&amp;gt;prepareFilter(10, array()); &amp;lt;/source&amp;gt;&lt;br /&gt;
In diesem Fall ist '10' die ID des Filters im MetaModels 'mm_projects'. Der Filter sorgt dafür, dass die Projekte chronologisch aufgelistet werden.&lt;br /&gt;
&lt;br /&gt;
Das MetaModels-Template könnte wie folgt aussehen:&lt;br /&gt;
{{Hinweis|Beachte das in der TNG Version MetaModels auch auf Namespace umgestellt wurde und die Factory Aufrufe entsprechend anders lauten müssen: \MetaModels\Factory s.u.}}&lt;br /&gt;
&lt;br /&gt;
'''Quelltext ohne Namespace:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
function getProjectsByCustomer($strAlias, $format='html5')&lt;br /&gt;
{&lt;br /&gt;
  $objMetaModel = MetaModelFactory::byTableName('mm_projects');&lt;br /&gt;
  $objFilter = $objMetaModel-&amp;gt;prepareFilter(10, array());&lt;br /&gt;
  $objFilter-&amp;gt;addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel-&amp;gt;getAttribute('customer'), $strAlias, $objMetaModel-&amp;gt;getAvailableLanguages()));&lt;br /&gt;
  $objItems = $objMetaModel-&amp;gt;findByFilter($objFilter);&lt;br /&gt;
  return $objItems-&amp;gt;parseAll($format, $objMetaModel-&amp;gt;getView(3));&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;customer_detailview&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div class=&amp;quot;detailview&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h1 class=&amp;quot;ce_headline&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['customer']; ?&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['description']; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['year']; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;url&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['html5']['url']; ?&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div class=&amp;quot;referenced_projects&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Projekte&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;?php foreach (getProjectsByCustomer($arrItem['raw']['alias']) as $arrProjects): ?&amp;gt;&lt;br /&gt;
    &amp;lt;?php if(!empty($arrProjects['raw']['images'])): ?&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;project&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h3&amp;gt;&lt;br /&gt;
        &amp;lt;a href=&amp;quot;{{env::path}}&amp;lt;?php echo $arrProjects['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['project_name']; ?&amp;gt; &lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
      &amp;lt;/h3&amp;gt;&lt;br /&gt;
      &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['description']; ?&amp;gt;&lt;br /&gt;
      &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['images']; ?&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
  &amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Quelltext mit Namespace:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
function getProjectsByCustomer($strAlias, $format='html5')&lt;br /&gt;
{&lt;br /&gt;
  $objMetaModel = \MetaModel\Factory::byTableName('mm_projects');&lt;br /&gt;
  $objFilter = $objMetaModel-&amp;gt;prepareFilter(10, array());&lt;br /&gt;
  $objFilter-&amp;gt;addFilterRule(new \MetaModels\Filter\Rules\SearchAttribute($objMetaModel-&amp;gt;getAttribute('customer'), $strAlias, $objMetaModel-&amp;gt;getAvailableLanguages()));&lt;br /&gt;
  $objItems = $objMetaModel-&amp;gt;findByFilter($objFilter);&lt;br /&gt;
  return $objItems-&amp;gt;parseAll($format, $objMetaModel-&amp;gt;getView(3));&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;customer_detailview&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?php foreach ($this-&amp;gt;data as $arrItem): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div class=&amp;quot;detailview&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h1 class=&amp;quot;ce_headline&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['customer']; ?&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['description']; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;year&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['text']['year']; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;url&amp;quot;&amp;gt;&amp;lt;?php echo $arrItem['html5']['url']; ?&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div class=&amp;quot;referenced_projects&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Projekte&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;?php foreach (getProjectsByCustomer($arrItem['raw']['alias']) as $arrProjects): ?&amp;gt;&lt;br /&gt;
    &amp;lt;?php if(!empty($arrProjects['raw']['images'])): ?&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;project&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h3&amp;gt;&lt;br /&gt;
        &amp;lt;a href=&amp;quot;{{env::path}}&amp;lt;?php echo $arrProjects['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['project_name']; ?&amp;gt; &lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
      &amp;lt;/h3&amp;gt;&lt;br /&gt;
      &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['description']; ?&amp;gt;&lt;br /&gt;
      &amp;lt;?php echo $arrProjects[$this-&amp;gt;getFormat()]['images']; ?&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
  &amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zonky</name></author>	</entry>

	</feed>