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

	<entry>
		<id>https://de.contaowiki.org/MetaModels_Beispiel_4</id>
		<title>MetaModels Beispiel 4</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels_Beispiel_4"/>
				<updated>2014-08-07T18:46:54Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Frontend-Modul aktualisieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Weiteres MetaModel einrichten=&lt;br /&gt;
Wer mit Catalog arbeitet, ist es gewohnt, Selects einzusetzen, um Datensätze zu kategorisieren. In unserem Fall wäre es z.B. sinnvoll, unsere Musikstücke bestimmten Stilrichtungen zuzuordnen. &amp;lt;br&amp;gt;&lt;br /&gt;
Bei Catalog wird hierfür die Erweiterung [https://contao.org/de/extension-list/view/taxonomy.10089.de.html Taxonomy] eingesetzt, um Hierarchien von Taxonomie-Bedingungen (oder besser bekannt als Tags) zu erstellen, die dann über ein Select bei der Datensatz-Erfassung abgerufen werden können. Im Wesentlichen wird über Taxonomy eine separate Tabelle mit den später abzurufenden Kategorien erfasst. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit MetaModels entfällt der Rückgriff auf Taxonomy. Mit MetaModels kann man eigene Tabellen erfassen, die die Einträge der HTML-Selects enthalten.&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;
=Neues MetaModel erstellen=&lt;br /&gt;
&lt;br /&gt;
==Leeres MetaModel==&lt;br /&gt;
[[File:mm_neues_metamodel.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Wir beginnen damit, dass wir unter MetaModels ein neues MetaModel anlegen:&lt;br /&gt;
* Klick auf '''Neues MetaModel'''&lt;br /&gt;
* Wir geben dem neuen MetaModel den Namen '''Musicbox - Stilrichtungen''' und den Tabellennamen '''mm_select_style'''&lt;br /&gt;
* Des weiteren aktivieren wir die '''Übersetzung''' setzen als Sprache '''Deutsch''' ein und aktivieren das '''Fallback'''&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[File:mm_neues_metamodel2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Nun steht uns ein neues, leeres MetaModel (mit null Datensätzen) zur Verfügung, das wir mit den Begriffen der benötigten Stilrichtungen füllen können.&amp;lt;br&amp;gt;&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;
==MM-Funktion: Attribute==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir erfassen zuerst die benötigen Attribute für die Eingabe.&lt;br /&gt;
[[File:mm_neues_metamodel_attribute.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Hierzu geben wir folgende Felder ein:&lt;br /&gt;
* '''Stilrichtung'''&lt;br /&gt;
** Attribute Type= Text&lt;br /&gt;
** Column name= style&lt;br /&gt;
** Name (deutsch)= Stilrichtung&lt;br /&gt;
** Description (deutsch)= Pop, Rock, New Wave, Jazz, etc.&lt;br /&gt;
&lt;br /&gt;
* '''Alias'''&lt;br /&gt;
** Attribute Type= Alias&lt;br /&gt;
** Column name= alias&lt;br /&gt;
** Name (deutsch)= Alias&lt;br /&gt;
** Description (deutsch)= Wird für URL benötigt.&lt;br /&gt;
** Unique values= aktiviert&lt;br /&gt;
** Alias fields= Titel&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;
==MM Funktion: Ausgabevorgaben==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Es wird eine neue Ausgabevorgabe benötigt.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_ausgabevorgaben.png|thumb|400px]]&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Die neue Ausgabevorgabe mit '''BE Listenansicht''' benennen&lt;br /&gt;
* speichern und schließen&lt;br /&gt;
* über die Attributeinstellungen alle Attribute hinzufügen&lt;br /&gt;
* Sichtbarkeit(Auge) herstellen&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;
==MM Funktion: Eingabemaske==&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
Es wird eine neue Eingabemaske benötigt.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_eingabemaske.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Die neue Eingabemaske mit '''BE Erfassung''' benennen&lt;br /&gt;
* Alle Attribute hinzufügen&lt;br /&gt;
* Speichern und schliessen&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;
==MM Funktion: Filter==&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
Es wird kein Filter benötigt.&lt;br /&gt;
&lt;br /&gt;
==MM Funktion: Ansichtseinstellungen==&lt;br /&gt;
[[File:icons_ansichtseinstellungen.png|left|32px]]&lt;br /&gt;
Es werden wie gewohnt die Zugriffsberechtigung zugewiesen, damit über die Backend-Navigation auf die Tabelle zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_ansichtseinstellungen.png|thumb|400px]]&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;
=Neues MetaModel 'MyMusik - Stilrichtungen' steht zum Abfüllen bereit=&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_navi.png|left|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_navi2.png|left|600px]]&lt;br /&gt;
&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;
==BE Liste==&lt;br /&gt;
[[File:mm_neues_metamodel_BE_liste.png|thumb|400px]]&lt;br /&gt;
* Über '''Neuer Datensatz''' wird die Liste befüllt&lt;br /&gt;
* Für unserem Fall werden nun die späteren Kategorien erfasst: Pop/Rock, Italo-Rock, New Wave, Fat Beat, Cantautore, Soul/Blues und Jazz&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;
==BE Formular==&lt;br /&gt;
[[File:mm_neues_metamodel_BE_formular.png|thumb|400px]]&lt;br /&gt;
* Das BE Formular sieht ziemlich simpel aus&lt;br /&gt;
* Ein separates Feld &amp;quot;ID&amp;quot; braucht nicht erfasst zu werden, denn dieses wird im Hintergrund automatisch generiert&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;
=Auswahlfeld bei 'Musicbox' hinzufügen=&lt;br /&gt;
Wir klicken unser altes MetaModel '''Musicbox''' an und wählen dort die MM-Funktion '''Attribute''' an.&lt;br /&gt;
==Neues Attribut 'Stilrichtung'==&lt;br /&gt;
[[File:mm_attribut_erfassen_style.png|thumb|400px]]&lt;br /&gt;
* Das neue Attribut ist vom Typ '''Auswahl'''&lt;br /&gt;
* Column name: style&lt;br /&gt;
* Name: Stilrichtung&lt;br /&gt;
* Description:... wie es euch gefällt&lt;br /&gt;
&lt;br /&gt;
Nun kommt der eigentlich wichtige Teil: Man stellt eine Verbindung zum neu geschaffenen MetaModel her&lt;br /&gt;
&lt;br /&gt;
* '''Source Table''': Hier erscheinen alle in der Contao-Installation verfügbaren Tabellen. Ausgewählt wird die neue Tabelle '''mm_select_style'''&lt;br /&gt;
* '''Value column''': Den Namen der Spalte '''style''' auswählen&lt;br /&gt;
* '''Id column''': '''id''' auswählen. Standardmässig führt jede Contao-Tabelle eine ID mit&lt;br /&gt;
* '''Alias column''': '''alias''' auswählen&lt;br /&gt;
* ''' Auswahl-Sortierung''':  Sortierkriterium auswählen&lt;br /&gt;
&lt;br /&gt;
Ergänzung:&lt;br /&gt;
&lt;br /&gt;
* In '''BE Listenansicht''' des ersten MetaModel Musicbox '''sollte''' das neue Attribut Stilrichtung mit aufgenommen werden damit es in der BE Listenansicht überhaupt angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
* In der BE Eingabemaske '''BE Erfassung''' des ersten MetaModel Musicbox '''muss''' das neue Attribut Stilrichtung mit aufgenommen werden damit eine Bearbeitung überhgaupt möglich ist.&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;
&lt;br /&gt;
[[File:mm_neues_atribut_musicbox.png|thumb|400px]]&lt;br /&gt;
Ab sofort steht nun in der BE Erfassung von '''MyMusic''' ein neues Feld '''Stilrichtung''' mit einem Select zur Verfügung. Das Select enthält nun alle Werte, die unter '''MyMusic - Stilrichtungen''' erfasst wurden.&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;
=Zusätzlichen Select-Filter im Frontend definieren=&lt;br /&gt;
&lt;br /&gt;
==Filter bei MyMusic anpassen==&lt;br /&gt;
[[File:mm_neues_attribut_filter.png|thumb|400px]]&lt;br /&gt;
* Der bereits exisitierende Name des Filters '''FE Filter Published''' wird kurz zu &amp;quot;FE Filter Published/Selects&amp;quot; angepasst&lt;br /&gt;
* Der Filter '''FE Filter Published''' wird um weitere Einstellungen ergänzt, nämlich...&lt;br /&gt;
** eine Einzelauswahl für das Attribut (Stilrichtung)&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;
[[File:mm_neues_attribut_filter2.png|thumb|400px]]&lt;br /&gt;
* Nebenan die Anpassung der Einstellung '''Einzelauswahl''' für das Attribut '''Stilrichtung'''&lt;br /&gt;
* Standardmässig wird im Hintergrund einfach der '''URL-Parameter''' des Feldes (im obigen Beispiel 'country' und 'style') mitgegeben. Dieser lässt sich hier umdefinieren.&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;
==Frontend-Modul aktualisieren==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_attribut_FE-Modul.png|thumb|400px]]&lt;br /&gt;
Das bereits existierende FE-Modul '''MM - MyMusik Filter''' muss noch angepasst werden:&lt;br /&gt;
* Anzuwendende Filtereinstellungen: Hier hat sich der Name des Filters bereits selbst aktualisiert&lt;br /&gt;
* Filterparameter(Attribute): den neu hinzugekommene Parameter '''Stilrichtung''' anklicken&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;
=Frontend Ansicht=&lt;br /&gt;
Im Frontend wird ein weiteres Select angezeigt, aus dem zusätzlich auch die '''Stilrichtungen''' angewählt werden können. &lt;br /&gt;
Die darunter liegende Liste wird entsprechend den oben ausgewählten Kriterien eingegrenzt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:mm_frontend_beispiel_2_selects.jpg|link=|700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispiel_3|Zurück zum Beispiel 3]] |&lt;br /&gt;
[[MetaModels_Beispielprojekt|Zurück zur Beispiel-Übersicht]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/MetaModels_Beispiel_4</id>
		<title>MetaModels Beispiel 4</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels_Beispiel_4"/>
				<updated>2014-08-06T20:58:20Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Neues Attribut 'Stilrichtung' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Weiteres MetaModel einrichten=&lt;br /&gt;
Wer mit Catalog arbeitet, ist es gewohnt, Selects einzusetzen, um Datensätze zu kategorisieren. In unserem Fall wäre es z.B. sinnvoll, unsere Musikstücke bestimmten Stilrichtungen zuzuordnen. &amp;lt;br&amp;gt;&lt;br /&gt;
Bei Catalog wird hierfür die Erweiterung [https://contao.org/de/extension-list/view/taxonomy.10089.de.html Taxonomy] eingesetzt, um Hierarchien von Taxonomie-Bedingungen (oder besser bekannt als Tags) zu erstellen, die dann über ein Select bei der Datensatz-Erfassung abgerufen werden können. Im Wesentlichen wird über Taxonomy eine separate Tabelle mit den später abzurufenden Kategorien erfasst. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit MetaModels entfällt der Rückgriff auf Taxonomy. Mit MetaModels kann man eigene Tabellen erfassen, die die Einträge der HTML-Selects enthalten.&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;
=Neues MetaModel erstellen=&lt;br /&gt;
&lt;br /&gt;
==Leeres MetaModel==&lt;br /&gt;
[[File:mm_neues_metamodel.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Wir beginnen damit, dass wir unter MetaModels ein neues MetaModel anlegen:&lt;br /&gt;
* Klick auf '''Neues MetaModel'''&lt;br /&gt;
* Wir geben dem neuen MetaModel den Namen '''Musicbox - Stilrichtungen''' und den Tabellennamen '''mm_select_style'''&lt;br /&gt;
* Des weiteren aktivieren wir die '''Übersetzung''' setzen als Sprache '''Deutsch''' ein und aktivieren das '''Fallback'''&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[File:mm_neues_metamodel2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Nun steht uns ein neues, leeres MetaModel (mit null Datensätzen) zur Verfügung, das wir mit den Begriffen der benötigten Stilrichtungen füllen können.&amp;lt;br&amp;gt;&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;
==MM-Funktion: Attribute==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir erfassen zuerst die benötigen Attribute für die Eingabe.&lt;br /&gt;
[[File:mm_neues_metamodel_attribute.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Hierzu geben wir folgende Felder ein:&lt;br /&gt;
* '''Stilrichtung'''&lt;br /&gt;
** Attribute Type= Text&lt;br /&gt;
** Column name= style&lt;br /&gt;
** Name (deutsch)= Stilrichtung&lt;br /&gt;
** Description (deutsch)= Pop, Rock, New Wave, Jazz, etc.&lt;br /&gt;
&lt;br /&gt;
* '''Alias'''&lt;br /&gt;
** Attribute Type= Alias&lt;br /&gt;
** Column name= alias&lt;br /&gt;
** Name (deutsch)= Alias&lt;br /&gt;
** Description (deutsch)= Wird für URL benötigt.&lt;br /&gt;
** Unique values= aktiviert&lt;br /&gt;
** Alias fields= Titel&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;
==MM Funktion: Ausgabevorgaben==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Es wird eine neue Ausgabevorgabe benötigt.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_ausgabevorgaben.png|thumb|400px]]&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Die neue Ausgabevorgabe mit '''BE Listenansicht''' benennen&lt;br /&gt;
* speichern und schließen&lt;br /&gt;
* über die Attributeinstellungen alle Attribute hinzufügen&lt;br /&gt;
* Sichtbarkeit(Auge) herstellen&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;
==MM Funktion: Eingabemaske==&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
Es wird eine neue Eingabemaske benötigt.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_eingabemaske.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Die neue Eingabemaske mit '''BE Erfassung''' benennen&lt;br /&gt;
* Alle Attribute hinzufügen&lt;br /&gt;
* Speichern und schliessen&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;
==MM Funktion: Filter==&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
Es wird kein Filter benötigt.&lt;br /&gt;
&lt;br /&gt;
==MM Funktion: Ansichtseinstellungen==&lt;br /&gt;
[[File:icons_ansichtseinstellungen.png|left|32px]]&lt;br /&gt;
Es werden wie gewohnt die Zugriffsberechtigung zugewiesen, damit über die Backend-Navigation auf die Tabelle zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_ansichtseinstellungen.png|thumb|400px]]&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;
=Neues MetaModel 'MyMusik - Stilrichtungen' steht zum Abfüllen bereit=&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_navi.png|left|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_navi2.png|left|600px]]&lt;br /&gt;
&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;
==BE Liste==&lt;br /&gt;
[[File:mm_neues_metamodel_BE_liste.png|thumb|400px]]&lt;br /&gt;
* Über '''Neuer Datensatz''' wird die Liste befüllt&lt;br /&gt;
* Für unserem Fall werden nun die späteren Kategorien erfasst: Pop/Rock, Italo-Rock, New Wave, Fat Beat, Cantautore, Soul/Blues und Jazz&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;
==BE Formular==&lt;br /&gt;
[[File:mm_neues_metamodel_BE_formular.png|thumb|400px]]&lt;br /&gt;
* Das BE Formular sieht ziemlich simpel aus&lt;br /&gt;
* Ein separates Feld &amp;quot;ID&amp;quot; braucht nicht erfasst zu werden, denn dieses wird im Hintergrund automatisch generiert&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;
=Auswahlfeld bei 'Musicbox' hinzufügen=&lt;br /&gt;
Wir klicken unser altes MetaModel '''Musicbox''' an und wählen dort die MM-Funktion '''Attribute''' an.&lt;br /&gt;
==Neues Attribut 'Stilrichtung'==&lt;br /&gt;
[[File:mm_attribut_erfassen_style.png|thumb|400px]]&lt;br /&gt;
* Das neue Attribut ist vom Typ '''Auswahl'''&lt;br /&gt;
* Column name: style&lt;br /&gt;
* Name: Stilrichtung&lt;br /&gt;
* Description:... wie es euch gefällt&lt;br /&gt;
&lt;br /&gt;
Nun kommt der eigentlich wichtige Teil: Man stellt eine Verbindung zum neu geschaffenen MetaModel her&lt;br /&gt;
&lt;br /&gt;
* '''Source Table''': Hier erscheinen alle in der Contao-Installation verfügbaren Tabellen. Ausgewählt wird die neue Tabelle '''mm_select_style'''&lt;br /&gt;
* '''Value column''': Den Namen der Spalte '''style''' auswählen&lt;br /&gt;
* '''Id column''': '''id''' auswählen. Standardmässig führt jede Contao-Tabelle eine ID mit&lt;br /&gt;
* '''Alias column''': '''alias''' auswählen&lt;br /&gt;
* ''' Auswahl-Sortierung''':  Sortierkriterium auswählen&lt;br /&gt;
&lt;br /&gt;
Ergänzung:&lt;br /&gt;
&lt;br /&gt;
* In '''BE Listenansicht''' des ersten MetaModel Musicbox '''sollte''' das neue Attribut Stilrichtung mit aufgenommen werden damit es in der BE Listenansicht überhaupt angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
* In der BE Eingabemaske '''BE Erfassung''' des ersten MetaModel Musicbox '''muss''' das neue Attribut Stilrichtung mit aufgenommen werden damit eine Bearbeitung überhgaupt möglich ist.&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;
&lt;br /&gt;
[[File:mm_neues_atribut_musicbox.png|thumb|400px]]&lt;br /&gt;
Ab sofort steht nun in der BE Erfassung von '''MyMusic''' ein neues Feld '''Stilrichtung''' mit einem Select zur Verfügung. Das Select enthält nun alle Werte, die unter '''MyMusic - Stilrichtungen''' erfasst wurden.&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;
=Zusätzlichen Select-Filter im Frontend definieren=&lt;br /&gt;
&lt;br /&gt;
==Filter bei MyMusic anpassen==&lt;br /&gt;
[[File:mm_neues_attribut_filter.png|thumb|400px]]&lt;br /&gt;
* Der bereits exisitierende Name des Filters '''FE Filter Published''' wird kurz zu &amp;quot;FE Filter Published/Selects&amp;quot; angepasst&lt;br /&gt;
* Der Filter '''FE Filter Published''' wird um weitere Einstellungen ergänzt, nämlich...&lt;br /&gt;
** eine Einzelauswahl für das Attribut (Stilrichtung)&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;
[[File:mm_neues_attribut_filter2.png|thumb|400px]]&lt;br /&gt;
* Nebenan die Anpassung der Einstellung '''Einzelauswahl''' für das Attribut '''Stilrichtung'''&lt;br /&gt;
* Standardmässig wird im Hintergrund einfach der '''URL-Parameter''' des Feldes (im obigen Beispiel 'country' und 'style') mitgegeben. Dieser lässt sich hier umdefinieren.&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;
==Frontend-Modul aktualisieren==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_attribut_FE-Modul.png|thumb|400px]]&lt;br /&gt;
Das bereits existierende FE-Modul '''MM - MyMusik Filter''' muss noch angepasst werden:&lt;br /&gt;
* Anzuwendende Filtereinstellungen: Hier hat sich der Name des Filters bereits selbst aktualisiert&lt;br /&gt;
* Filterparameter: den neu hinzugekommene Parameter '''Stilrichtung''' anklicken&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;
=Frontend Ansicht=&lt;br /&gt;
Im Frontend wird ein weiteres Select angezeigt, aus dem zusätzlich auch die '''Stilrichtungen''' angewählt werden können. &lt;br /&gt;
Die darunter liegende Liste wird entsprechend den oben ausgewählten Kriterien eingegrenzt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:mm_frontend_beispiel_2_selects.jpg|link=|700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispiel_3|Zurück zum Beispiel 3]] |&lt;br /&gt;
[[MetaModels_Beispielprojekt|Zurück zur Beispiel-Übersicht]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/MetaModels_Beispiel_4</id>
		<title>MetaModels Beispiel 4</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels_Beispiel_4"/>
				<updated>2014-08-06T20:55:36Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Neues Attribut 'Stilrichtung' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Weiteres MetaModel einrichten=&lt;br /&gt;
Wer mit Catalog arbeitet, ist es gewohnt, Selects einzusetzen, um Datensätze zu kategorisieren. In unserem Fall wäre es z.B. sinnvoll, unsere Musikstücke bestimmten Stilrichtungen zuzuordnen. &amp;lt;br&amp;gt;&lt;br /&gt;
Bei Catalog wird hierfür die Erweiterung [https://contao.org/de/extension-list/view/taxonomy.10089.de.html Taxonomy] eingesetzt, um Hierarchien von Taxonomie-Bedingungen (oder besser bekannt als Tags) zu erstellen, die dann über ein Select bei der Datensatz-Erfassung abgerufen werden können. Im Wesentlichen wird über Taxonomy eine separate Tabelle mit den später abzurufenden Kategorien erfasst. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit MetaModels entfällt der Rückgriff auf Taxonomy. Mit MetaModels kann man eigene Tabellen erfassen, die die Einträge der HTML-Selects enthalten.&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;
=Neues MetaModel erstellen=&lt;br /&gt;
&lt;br /&gt;
==Leeres MetaModel==&lt;br /&gt;
[[File:mm_neues_metamodel.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Wir beginnen damit, dass wir unter MetaModels ein neues MetaModel anlegen:&lt;br /&gt;
* Klick auf '''Neues MetaModel'''&lt;br /&gt;
* Wir geben dem neuen MetaModel den Namen '''Musicbox - Stilrichtungen''' und den Tabellennamen '''mm_select_style'''&lt;br /&gt;
* Des weiteren aktivieren wir die '''Übersetzung''' setzen als Sprache '''Deutsch''' ein und aktivieren das '''Fallback'''&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[File:mm_neues_metamodel2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Nun steht uns ein neues, leeres MetaModel (mit null Datensätzen) zur Verfügung, das wir mit den Begriffen der benötigten Stilrichtungen füllen können.&amp;lt;br&amp;gt;&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;
==MM-Funktion: Attribute==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir erfassen zuerst die benötigen Attribute für die Eingabe.&lt;br /&gt;
[[File:mm_neues_metamodel_attribute.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Hierzu geben wir folgende Felder ein:&lt;br /&gt;
* '''Stilrichtung'''&lt;br /&gt;
** Attribute Type= Text&lt;br /&gt;
** Column name= style&lt;br /&gt;
** Name (deutsch)= Stilrichtung&lt;br /&gt;
** Description (deutsch)= Pop, Rock, New Wave, Jazz, etc.&lt;br /&gt;
&lt;br /&gt;
* '''Alias'''&lt;br /&gt;
** Attribute Type= Alias&lt;br /&gt;
** Column name= alias&lt;br /&gt;
** Name (deutsch)= Alias&lt;br /&gt;
** Description (deutsch)= Wird für URL benötigt.&lt;br /&gt;
** Unique values= aktiviert&lt;br /&gt;
** Alias fields= Titel&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;
==MM Funktion: Ausgabevorgaben==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Es wird eine neue Ausgabevorgabe benötigt.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_ausgabevorgaben.png|thumb|400px]]&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Die neue Ausgabevorgabe mit '''BE Listenansicht''' benennen&lt;br /&gt;
* speichern und schließen&lt;br /&gt;
* über die Attributeinstellungen alle Attribute hinzufügen&lt;br /&gt;
* Sichtbarkeit(Auge) herstellen&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;
==MM Funktion: Eingabemaske==&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
Es wird eine neue Eingabemaske benötigt.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_eingabemaske.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Die neue Eingabemaske mit '''BE Erfassung''' benennen&lt;br /&gt;
* Alle Attribute hinzufügen&lt;br /&gt;
* Speichern und schliessen&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;
==MM Funktion: Filter==&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
Es wird kein Filter benötigt.&lt;br /&gt;
&lt;br /&gt;
==MM Funktion: Ansichtseinstellungen==&lt;br /&gt;
[[File:icons_ansichtseinstellungen.png|left|32px]]&lt;br /&gt;
Es werden wie gewohnt die Zugriffsberechtigung zugewiesen, damit über die Backend-Navigation auf die Tabelle zugegriffen werden kann.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_ansichtseinstellungen.png|thumb|400px]]&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;
=Neues MetaModel 'MyMusik - Stilrichtungen' steht zum Abfüllen bereit=&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_navi.png|left|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_navi2.png|left|600px]]&lt;br /&gt;
&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;
==BE Liste==&lt;br /&gt;
[[File:mm_neues_metamodel_BE_liste.png|thumb|400px]]&lt;br /&gt;
* Über '''Neuer Datensatz''' wird die Liste befüllt&lt;br /&gt;
* Für unserem Fall werden nun die späteren Kategorien erfasst: Pop/Rock, Italo-Rock, New Wave, Fat Beat, Cantautore, Soul/Blues und Jazz&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;
==BE Formular==&lt;br /&gt;
[[File:mm_neues_metamodel_BE_formular.png|thumb|400px]]&lt;br /&gt;
* Das BE Formular sieht ziemlich simpel aus&lt;br /&gt;
* Ein separates Feld &amp;quot;ID&amp;quot; braucht nicht erfasst zu werden, denn dieses wird im Hintergrund automatisch generiert&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;
=Auswahlfeld bei 'Musicbox' hinzufügen=&lt;br /&gt;
Wir klicken unser altes MetaModel '''Musicbox''' an und wählen dort die MM-Funktion '''Attribute''' an.&lt;br /&gt;
==Neues Attribut 'Stilrichtung'==&lt;br /&gt;
[[File:mm_attribut_erfassen_style.png|thumb|400px]]&lt;br /&gt;
* Das neue Attribut ist vom Typ '''Auswahl'''&lt;br /&gt;
* Column name: style&lt;br /&gt;
* Name: Stilrichtung&lt;br /&gt;
* Description:... wie es euch gefällt&lt;br /&gt;
&lt;br /&gt;
Nun kommt der eigentlich wichtige Teil: Man stellt eine Verbindung zum neu geschaffenen MetaModel her&lt;br /&gt;
&lt;br /&gt;
* '''Source Table''': Hier erscheinen alle in der Contao-Installation verfügbaren Tabellen. Ausgewählt wird die neue Tabelle '''mm_select_style'''&lt;br /&gt;
* '''Value column''': Den Namen der Spalte '''style''' auswählen&lt;br /&gt;
* '''Id column''': '''id''' auswählen. Standardmässig führt jede Contao-Tabelle eine ID mit&lt;br /&gt;
* '''Alias column''': '''alias''' auswählen&lt;br /&gt;
* ''' Auswahl-Sortierung''':  Sortierkriterium auswählen&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Ergänzung:&lt;br /&gt;
In '''BE Listenansicht''' des ersten MetaModel Musicbox '''sollte''' das neue Attribut Stilrichtung mit aufgenommen damit es in der BE Listenansicht überhaupt angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
In der BE Eingabemaske'''BE Erfassung''' des ersten MetaModel Musicbox '''muss''' das neue Attribut Stilrichtung mit aufgenommen damit eine Bearbeitung überhgaupt möglich ist.&lt;br /&gt;
&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;
[[File:mm_neues_atribut_musicbox.png|thumb|400px]]&lt;br /&gt;
Ab sofort steht nun in der BE Erfassung von '''MyMusic''' ein neues Feld '''Stilrichtung''' mit einem Select zur Verfügung. Das Select enthält nun alle Werte, die unter '''MyMusic - Stilrichtungen''' erfasst wurden.&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;
=Zusätzlichen Select-Filter im Frontend definieren=&lt;br /&gt;
&lt;br /&gt;
==Filter bei MyMusic anpassen==&lt;br /&gt;
[[File:mm_neues_attribut_filter.png|thumb|400px]]&lt;br /&gt;
* Der bereits exisitierende Name des Filters '''FE Filter Published''' wird kurz zu &amp;quot;FE Filter Published/Selects&amp;quot; angepasst&lt;br /&gt;
* Der Filter '''FE Filter Published''' wird um weitere Einstellungen ergänzt, nämlich...&lt;br /&gt;
** eine Einzelauswahl für das Attribut (Stilrichtung)&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;
[[File:mm_neues_attribut_filter2.png|thumb|400px]]&lt;br /&gt;
* Nebenan die Anpassung der Einstellung '''Einzelauswahl''' für das Attribut '''Stilrichtung'''&lt;br /&gt;
* Standardmässig wird im Hintergrund einfach der '''URL-Parameter''' des Feldes (im obigen Beispiel 'country' und 'style') mitgegeben. Dieser lässt sich hier umdefinieren.&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;
==Frontend-Modul aktualisieren==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_attribut_FE-Modul.png|thumb|400px]]&lt;br /&gt;
Das bereits existierende FE-Modul '''MM - MyMusik Filter''' muss noch angepasst werden:&lt;br /&gt;
* Anzuwendende Filtereinstellungen: Hier hat sich der Name des Filters bereits selbst aktualisiert&lt;br /&gt;
* Filterparameter: den neu hinzugekommene Parameter '''Stilrichtung''' anklicken&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;
=Frontend Ansicht=&lt;br /&gt;
Im Frontend wird ein weiteres Select angezeigt, aus dem zusätzlich auch die '''Stilrichtungen''' angewählt werden können. &lt;br /&gt;
Die darunter liegende Liste wird entsprechend den oben ausgewählten Kriterien eingegrenzt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:mm_frontend_beispiel_2_selects.jpg|link=|700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[MetaModels_Beispiel_3|Zurück zum Beispiel 3]] |&lt;br /&gt;
[[MetaModels_Beispielprojekt|Zurück zur Beispiel-Übersicht]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/MetaModels_Beispiel_2</id>
		<title>MetaModels Beispiel 2</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels_Beispiel_2"/>
				<updated>2014-08-05T09:21:48Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Frontend-Module erstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Frontend einrichten=&lt;br /&gt;
Wir haben im Backend bereits ein paar Daten (Musikstücke) erfasst und möchten diese nun im Frontend anzeigen lassen. Hierfür benötigen wir eine Übersichtseite (Liste) und eine Detailsansicht. Plus noch eine minimale Navigation, um zwischen Liste und Detailansicht hin- und herklicken zu können.&lt;br /&gt;
Hierbei werden wir auch die Filtertechnik von MetaModels einsetzen.&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;
=Seiterstruktur anpassen=&lt;br /&gt;
== In der Seitenstruktur zwei leere Seiten einrichten==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_seitenstruktur_einrichten.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Zuerst richten wir in der Seitenstruktur zwei neue (leere) Seiten ein.&lt;br /&gt;
&lt;br /&gt;
* '''Musicbox''' (diese Seite wird die Listenansicht aufnehmen)&lt;br /&gt;
* '''Music''' (diese Seite wird für die Darstellung der Detailansicht verantwortlich sein)&lt;br /&gt;
&lt;br /&gt;
Sowohl MetaModels als auch die später benötigten Frontend-Module werden auf diese Seiten zugreifen müssen, deswegen richten wir diese vorab ein, auch wenn noch kein Inhalt definiert ist.&lt;br /&gt;
&lt;br /&gt;
==Einfachen Filter erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir steigen nun wieder bei MetaModels bei '''Musicbox''' ein und gehen zur [[MetaModels_Backend:_Filter|MM-Backend Funktion: Filter]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_einrichten.png|thumb|400px]]&lt;br /&gt;
Hier müssen wir thematisch etwas vorausgreifen, und ein Instrument bereitstellen, das bei der Einrichtung der Frontend-Ansichten in MetaModels benötigt wird: '''Wir brauchen einen Filter'''.&lt;br /&gt;
Bei MetaModels haben Filter eine breitere Bedeutung als dies umgangssprachlich der Fall ist. Filter steuern jede Art von Ansichtsdarstellung, sowohl im Backend als auch im Frontend.&amp;amp;nbsp;Aus der Sicht von MetaModels gibt es nicht eine Listen- und eine separate Archivansicht, wie man das z.B. von News oder Catalog her kennt. Für MetaModels ist jede Ansicht eine Listenansicht. Es ist der Filter, der bestimmt ob n Datensätze (aka Liste) oder nur 1 Datensatz (aka Detailansicht) angezeigt wird. Mit anderen Worten: Der Filter und nicht das Frontend-Modul macht den Unterschied.&lt;br /&gt;
&lt;br /&gt;
* Die Filterübersicht ist noch leer (Keine Einträge gefunden)&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Den Namen eingeben, z.B. &amp;quot;FE Link Detail&amp;quot; (FE steht für Frontend) und speichern&lt;br /&gt;
* Die Filterübersicht zeigt nun diesen Eintrag. Wähle das rechte Icon ''Filterattribute für Filtereinstellung definieren''.&lt;br /&gt;
* Auf '''Neu''' klicken und das Icon (mit Pfeil) für '''einsetzen''' wählen&lt;br /&gt;
* Nun kann man den Typ '''Einfache Abfrage''' auswählen&lt;br /&gt;
* Einen Haken bei dem Kästchen '''Aktiviert''' setzen&lt;br /&gt;
* Das '''Attribut''' Alias auswählen und den URL-Parameter '''auto_item''' eingeben&lt;br /&gt;
* Alle weiteren Optionen bleiben leer oder nicht angeklickt. Als '''Template''' den Standard '''mm_filteritem_default''' auswählen&lt;br /&gt;
* Speichern und Schliessen&lt;br /&gt;
&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;
===URL-Parameter auto_item===&lt;br /&gt;
[[File:mm_backend_filter_einrichten2.png|thumb|400px]]&lt;br /&gt;
Der URL-Parameter '''auto_item''' ist in Kombination mit dem Attribut '''Alias''' dann interessant, wenn man in der URL das '/alias' raushaben möchte.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
aus...&lt;br /&gt;
meineDomain.com/album/alias/born-to-die.html&lt;br /&gt;
wird...&lt;br /&gt;
meineDomain.com/album/born-to-die.html&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der URL-Parameter '''auto_item''' verwendet werden soll, dann muss in den System-Einstellungen im BE im Abschnitt ''Frontend-Einstellungen'' die Option '''Den auto_item-Parameter verwenden''' angehakt sein, sonst erfolgt keine Ausgabe des Details ( =&amp;gt;There are no items matching your search.)&lt;br /&gt;
&lt;br /&gt;
'''Fazit'''&amp;lt;br&amp;gt;&lt;br /&gt;
Der Filter &amp;quot;FE Link Detail&amp;quot; besteht nun aus einer einzigen Definition. Wir werden in einem späteren Beispiel sehen, dass ein Filter auch aus mehreren Definitionen bestehen kann. Das ist eine weitere Neuerung in MetaModels, nämlich, dass man sich im Wesentlichen seine eigenen Filter zusammenbauen kann.&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;
==Listenansicht erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir bereits einen Eintrag &amp;quot;BE Listenansicht&amp;quot; an. Auf '''Neu''' klicken.&lt;br /&gt;
* Den Namen '''FE Listenansicht''' eingeben&lt;br /&gt;
* Als Template '''metamodel_prerendered (global scope)&amp;quot; wählen&lt;br /&gt;
* Als '''Zielseite''' die vorhin definierte Seite &amp;quot;Music&amp;quot; angeben. Klicke hierzu auf das Icon &amp;quot;Globus&amp;quot; und wähle die Seite aus dem Pulldown-Menu aus.{ {link_url::xx} } wird dann automatisch eingesetzt.&lt;br /&gt;
* Unter '''Filtereinstellungen''' wählen wir den vorhin definierten Filter &amp;quot;FE Link Detail&amp;quot;.&amp;lt;br&amp;gt;(''sollte der Filter zunächst nicht angezeigt werden, dann hilft =&amp;gt;speichern weiter'')&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
* Nun erscheinen zwei Einträge in der Liste der Ausgabevorgaben&lt;br /&gt;
&lt;br /&gt;
Mit diesen Einstellungen legt man grob fest, welches Aussehen (Template) die Seite haben soll, wohin die Reise gehen wird (Zielseite) und was bei dieser Zielseite angezeigt werden soll (was durch den Filter bestimmt wird).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man hier kein Filter angibt, wird später im Frontend kein '''Details'''-Link erscheinen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos zum Details-Link siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&lt;br /&gt;
&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;
==Attribute zur Listenansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Klick auf das Icon rechts '''Attribute hinzufügen'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' (geht schneller und einfacher als alle über &amp;quot;Neu&amp;quot; hinzufügen)&lt;br /&gt;
* Bestätige die folgenden Screens&lt;br /&gt;
* Lege fest, welche Attribute in der Listenansicht angezeigt werden sollen (Icon &amp;quot;Auge&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Man kann auch die Einstellung der Attribute anschauen, wie im letzten Screen angezeigt. Standardmäßig wird jedem Attribut zusätzlich ein Template mitgegeben. In unserem Beispiel analog dem Typ das Template &amp;quot;mm_attr_text (global scope)&amp;quot;.&lt;br /&gt;
Man erkennt hier schon im Ansatz, dass in MetaModels praktisch jedes Detail über ein Template gesteuert wird. Was für eine mögliche Individualisierung letztlich heißt, dass man in der freien Gestaltung potentiell unendliche viele Möglichkeiten zur Verfügung gestellt bekommt.&lt;br /&gt;
&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;
==Detailansicht erstellen==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]] (aka Rendereinstellungen).&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir die Einträge &amp;quot;BE Listenansicht&amp;quot; und &amp;quot;FE Listenansicht&amp;quot; an.&lt;br /&gt;
* Wir klicken auf &amp;quot;neu&amp;quot;&lt;br /&gt;
* Gib den Namen &amp;quot;FE Detailansicht&amp;quot; an&lt;br /&gt;
* Als Template wähen wir &amp;quot;metamodel_prerendered (global scope) an.&lt;br /&gt;
* In diesem Fall brauchen wir weder eine Zielseite noch ein Filtersettting anzugeben, denn bis hierher und nicht weiter wollen wir gelangen&lt;br /&gt;
* Optional kann auch eine Weiterleitungsseite definiert und ein Filter angegeben werden, wenn man einen Link &amp;quot;Zurück&amp;quot; generieren will&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos wie man einen Zurück-Link erstellt, siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&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;
[[File:mm_backend_FE_Detailansicht_einrichten_liste.png|thumb|400px]]&lt;br /&gt;
Es erscheinen nun drei Einträge in der Liste der Ausgabevorgaben.&lt;br /&gt;
* BE Listenansicht&lt;br /&gt;
* FE Detailansicht&lt;br /&gt;
* FE Listenansicht&lt;br /&gt;
&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;
==Attribute zur Detailansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Das Vorgehen ist analog zum Punkt 4 zu verstehen. Einzig, dass wir hier am Ende alle Attribute anzeigen lassen (inkl. Bild und Beschreibung).&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Anmerkung|&lt;br /&gt;
Das Drag &amp;amp; Drop eines Attributes auf den 1. Platz funktioniert momentan nicht. Ein Ticket dazu ist in Bearbeitung. https://github.com/MetaModels/core/issues/259&lt;br /&gt;
Man kann das Attribut auf den 2. Platz schieben und dann das von dem 1. Platz runter auf den 2.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] ([[Benutzer Diskussion:Andreas|Diskussion]]) 01:40, 5. Jun. 2014 (CEST)}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Das Problem ist mittlerweile behoben. Man kann Attribute per Drag and Drop an die erste Stelle bewegen.&lt;br /&gt;
&lt;br /&gt;
==Frontend-Module erstellen==&lt;br /&gt;
{{Hinweis|Einige Einstellmöglichkeiten in den nachstehend beschriebenen Modulen sind erst nach einer Zwischenspeicherung des Moduls erreichbar.}}&lt;br /&gt;
[[File:mm_backend_FE-Module_Liste.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Frontend-Modul für Listenansicht einrichten:&lt;br /&gt;
&lt;br /&gt;
* Wähle den ''Modultyp'' &amp;quot;MetaModels-Liste&amp;quot; aus&lt;br /&gt;
* Wähle das entsprechend ''MetaModel'' aus, in unserem Fall &amp;quot;Musicbox&amp;quot;&lt;br /&gt;
* Bei ''Sortieren nach'' und ''Sortierreihenfolge'' das gewünschte Attribut festlegen bzw. ob auf- oder absteigend sortiert werden soll&lt;br /&gt;
* ''Anzuwendende Filtereinstellungen'' bleibt vorläuftig leer. Das heißt soviel wie, dass wir in unserer Liste alle Datensätze (Musikstücke), die wir in unserer Musicbox erfasst haben, in der Liste anzeigen möchten&lt;br /&gt;
* Bei ''Eigenes Template für Datensatzliste auswählen'' den vorgegebenen Default &amp;quot;mod_metamodel_list&amp;quot; nehmen&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellung'' nehmen wir nun die zuvor definierte Ausgabevoreinstellung &amp;quot;FE Listenansicht&amp;quot;. Damit werden nur die Daten der Felder ausgegeben, die wir unter Punkt 9 als sichtbar gekennzeichnet haben, und zwar in der dort definierten Reihenfolge&lt;br /&gt;
&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;
[[File:mm_backend_FE-Module_Detail.png|thumb|400px]]&lt;br /&gt;
Frontend-Modul für Detailansicht einrichten:&lt;br /&gt;
&lt;br /&gt;
Dieses FE-Modul richten wir analog dem FE-Modul der Listenansicht ein, allerdings mit zwei wichtigen Unterschieden:&lt;br /&gt;
&lt;br /&gt;
* Bei ''Anzuwendende Filtereinstellungen'' muss nun der Filter &amp;quot;FE Link Detail&amp;quot; angewählt werden. Dieser bewirkt, dass man hier, in der Detailansicht, auch nur den Datenansatz angezeigt bekommt, den man in der Listenansicht angeklickt hatte.&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellungen'' wählen wir die in den Ansichtsdarstellungen definierte Einstellung &amp;quot;FE Detailansicht&amp;quot;. Hier werden alle Daten angezeigt, die wir unter Punkt ... als sichtbar angegeben haben. In diesem Falle alle.&lt;br /&gt;
&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;
==Frontend-Module einbinden und Seitenvorschau==&lt;br /&gt;
[[File:mm_backend_FE-Module_einsetzen.png|thumb|400px]]&lt;br /&gt;
Zum Schluss bindet man die beiden Frontend-Module in den gewünschten Artikel ein.&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== Detail-Link anpassen==&lt;br /&gt;
Wenn der Rendereinstellung für die FE-Ansicht der passende Filter mitgegeben wurde, wird am Ende des Items standardmässig ein Link namens '''Details''' generiert. &lt;br /&gt;
Im Standard-Template '''metamodel_prerendered.html5''' sieht der PHP-Code, wo der Link vorkommt, so aus:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($arrItem['jumpTo']['deep']): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $arrItem['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;details; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Die Bezeichnung des Links lässt sich umbenennen, ohne in das Template eingreifen zu müssen.&amp;lt;br&amp;gt;&lt;br /&gt;
Hierzu kann man bei '/system/config/'''langconfig.php'''' folgende Anpassungen machen. 3 Beipiele...&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['details'] = '...mehr Details';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle'][id]['details'] = 'Zurück zur Liste';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
'''1. Fal'''l: Jeder Link in MetaModels wird zu '... mehr Details' umbenannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''2. Fall''': Nur die Links in der MetaModel-Tabelle 'mm_meineTabelle' werden zu 'weiter...' umbeannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''3. Fall''': Interessant, wenn man von der FE Detailansicht zurück zur FE Listenansicht gelangen will. In diesem Fall kann man nicht nur die MM Tabelle angeben, sondern auch die '''id''' der [[MetaModels_Backend:_Ausgabevorgaben#Einstieg|Rendereinstellung]] angeben. &lt;br /&gt;
&lt;br /&gt;
Beispiel für langconfig.php:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
/* Put your custom configuration here */ &lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox'][4]['details'] = 'Zurück zur Liste';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Mögliches Endresultat=&lt;br /&gt;
&lt;br /&gt;
==Frontend Ansicht==&lt;br /&gt;
Und so könnte es aussehen&lt;br /&gt;
* links: Die Daten werden standardmässig in kompakter Form ausgegeben&lt;br /&gt;
* rechts: mit etwas CSS lassen sich die Daten sowohl in der Listen- wie Detailsicht gut formatieren&lt;br /&gt;
* die Labels lassen sich auch ausschalten. Siehe [[MetaModels_Backend:_Eingabemaske#Backend_Liste_gestalten|hier]]&lt;br /&gt;
[[File:mm_frontend_beispiel.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
==HTML-Konstrukt==&lt;br /&gt;
Die Daten werden über das Template &amp;quot;metamodel_prerendered.html5&amp;quot; ausgegeben. Jeder Datensatz wird als '''item''' ausgegeben, dieser besteht aus den Attributen, die in den Rendereinstellungen definiert wurden. Bei jedem Attribut wird standardmässig '''label''' und '''value''' ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attributs1&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut1&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut3&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&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;
&lt;br /&gt;
[[MetaModels_Beispiel_1|Zurück zur Beispiel 1]] | [[MetaModels_Beispiel_3|Weiter zum Beispiel 3: Weitere Filter hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/MetaModels_Beispiel_2</id>
		<title>MetaModels Beispiel 2</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels_Beispiel_2"/>
				<updated>2014-08-05T09:21:20Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Frontend-Module erstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Frontend einrichten=&lt;br /&gt;
Wir haben im Backend bereits ein paar Daten (Musikstücke) erfasst und möchten diese nun im Frontend anzeigen lassen. Hierfür benötigen wir eine Übersichtseite (Liste) und eine Detailsansicht. Plus noch eine minimale Navigation, um zwischen Liste und Detailansicht hin- und herklicken zu können.&lt;br /&gt;
Hierbei werden wir auch die Filtertechnik von MetaModels einsetzen.&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;
=Seiterstruktur anpassen=&lt;br /&gt;
== In der Seitenstruktur zwei leere Seiten einrichten==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_seitenstruktur_einrichten.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Zuerst richten wir in der Seitenstruktur zwei neue (leere) Seiten ein.&lt;br /&gt;
&lt;br /&gt;
* '''Musicbox''' (diese Seite wird die Listenansicht aufnehmen)&lt;br /&gt;
* '''Music''' (diese Seite wird für die Darstellung der Detailansicht verantwortlich sein)&lt;br /&gt;
&lt;br /&gt;
Sowohl MetaModels als auch die später benötigten Frontend-Module werden auf diese Seiten zugreifen müssen, deswegen richten wir diese vorab ein, auch wenn noch kein Inhalt definiert ist.&lt;br /&gt;
&lt;br /&gt;
==Einfachen Filter erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir steigen nun wieder bei MetaModels bei '''Musicbox''' ein und gehen zur [[MetaModels_Backend:_Filter|MM-Backend Funktion: Filter]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_einrichten.png|thumb|400px]]&lt;br /&gt;
Hier müssen wir thematisch etwas vorausgreifen, und ein Instrument bereitstellen, das bei der Einrichtung der Frontend-Ansichten in MetaModels benötigt wird: '''Wir brauchen einen Filter'''.&lt;br /&gt;
Bei MetaModels haben Filter eine breitere Bedeutung als dies umgangssprachlich der Fall ist. Filter steuern jede Art von Ansichtsdarstellung, sowohl im Backend als auch im Frontend.&amp;amp;nbsp;Aus der Sicht von MetaModels gibt es nicht eine Listen- und eine separate Archivansicht, wie man das z.B. von News oder Catalog her kennt. Für MetaModels ist jede Ansicht eine Listenansicht. Es ist der Filter, der bestimmt ob n Datensätze (aka Liste) oder nur 1 Datensatz (aka Detailansicht) angezeigt wird. Mit anderen Worten: Der Filter und nicht das Frontend-Modul macht den Unterschied.&lt;br /&gt;
&lt;br /&gt;
* Die Filterübersicht ist noch leer (Keine Einträge gefunden)&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Den Namen eingeben, z.B. &amp;quot;FE Link Detail&amp;quot; (FE steht für Frontend) und speichern&lt;br /&gt;
* Die Filterübersicht zeigt nun diesen Eintrag. Wähle das rechte Icon ''Filterattribute für Filtereinstellung definieren''.&lt;br /&gt;
* Auf '''Neu''' klicken und das Icon (mit Pfeil) für '''einsetzen''' wählen&lt;br /&gt;
* Nun kann man den Typ '''Einfache Abfrage''' auswählen&lt;br /&gt;
* Einen Haken bei dem Kästchen '''Aktiviert''' setzen&lt;br /&gt;
* Das '''Attribut''' Alias auswählen und den URL-Parameter '''auto_item''' eingeben&lt;br /&gt;
* Alle weiteren Optionen bleiben leer oder nicht angeklickt. Als '''Template''' den Standard '''mm_filteritem_default''' auswählen&lt;br /&gt;
* Speichern und Schliessen&lt;br /&gt;
&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;
===URL-Parameter auto_item===&lt;br /&gt;
[[File:mm_backend_filter_einrichten2.png|thumb|400px]]&lt;br /&gt;
Der URL-Parameter '''auto_item''' ist in Kombination mit dem Attribut '''Alias''' dann interessant, wenn man in der URL das '/alias' raushaben möchte.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
aus...&lt;br /&gt;
meineDomain.com/album/alias/born-to-die.html&lt;br /&gt;
wird...&lt;br /&gt;
meineDomain.com/album/born-to-die.html&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der URL-Parameter '''auto_item''' verwendet werden soll, dann muss in den System-Einstellungen im BE im Abschnitt ''Frontend-Einstellungen'' die Option '''Den auto_item-Parameter verwenden''' angehakt sein, sonst erfolgt keine Ausgabe des Details ( =&amp;gt;There are no items matching your search.)&lt;br /&gt;
&lt;br /&gt;
'''Fazit'''&amp;lt;br&amp;gt;&lt;br /&gt;
Der Filter &amp;quot;FE Link Detail&amp;quot; besteht nun aus einer einzigen Definition. Wir werden in einem späteren Beispiel sehen, dass ein Filter auch aus mehreren Definitionen bestehen kann. Das ist eine weitere Neuerung in MetaModels, nämlich, dass man sich im Wesentlichen seine eigenen Filter zusammenbauen kann.&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;
==Listenansicht erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir bereits einen Eintrag &amp;quot;BE Listenansicht&amp;quot; an. Auf '''Neu''' klicken.&lt;br /&gt;
* Den Namen '''FE Listenansicht''' eingeben&lt;br /&gt;
* Als Template '''metamodel_prerendered (global scope)&amp;quot; wählen&lt;br /&gt;
* Als '''Zielseite''' die vorhin definierte Seite &amp;quot;Music&amp;quot; angeben. Klicke hierzu auf das Icon &amp;quot;Globus&amp;quot; und wähle die Seite aus dem Pulldown-Menu aus.{ {link_url::xx} } wird dann automatisch eingesetzt.&lt;br /&gt;
* Unter '''Filtereinstellungen''' wählen wir den vorhin definierten Filter &amp;quot;FE Link Detail&amp;quot;.&amp;lt;br&amp;gt;(''sollte der Filter zunächst nicht angezeigt werden, dann hilft =&amp;gt;speichern weiter'')&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
* Nun erscheinen zwei Einträge in der Liste der Ausgabevorgaben&lt;br /&gt;
&lt;br /&gt;
Mit diesen Einstellungen legt man grob fest, welches Aussehen (Template) die Seite haben soll, wohin die Reise gehen wird (Zielseite) und was bei dieser Zielseite angezeigt werden soll (was durch den Filter bestimmt wird).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man hier kein Filter angibt, wird später im Frontend kein '''Details'''-Link erscheinen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos zum Details-Link siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&lt;br /&gt;
&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;
==Attribute zur Listenansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Klick auf das Icon rechts '''Attribute hinzufügen'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' (geht schneller und einfacher als alle über &amp;quot;Neu&amp;quot; hinzufügen)&lt;br /&gt;
* Bestätige die folgenden Screens&lt;br /&gt;
* Lege fest, welche Attribute in der Listenansicht angezeigt werden sollen (Icon &amp;quot;Auge&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Man kann auch die Einstellung der Attribute anschauen, wie im letzten Screen angezeigt. Standardmäßig wird jedem Attribut zusätzlich ein Template mitgegeben. In unserem Beispiel analog dem Typ das Template &amp;quot;mm_attr_text (global scope)&amp;quot;.&lt;br /&gt;
Man erkennt hier schon im Ansatz, dass in MetaModels praktisch jedes Detail über ein Template gesteuert wird. Was für eine mögliche Individualisierung letztlich heißt, dass man in der freien Gestaltung potentiell unendliche viele Möglichkeiten zur Verfügung gestellt bekommt.&lt;br /&gt;
&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;
==Detailansicht erstellen==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]] (aka Rendereinstellungen).&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir die Einträge &amp;quot;BE Listenansicht&amp;quot; und &amp;quot;FE Listenansicht&amp;quot; an.&lt;br /&gt;
* Wir klicken auf &amp;quot;neu&amp;quot;&lt;br /&gt;
* Gib den Namen &amp;quot;FE Detailansicht&amp;quot; an&lt;br /&gt;
* Als Template wähen wir &amp;quot;metamodel_prerendered (global scope) an.&lt;br /&gt;
* In diesem Fall brauchen wir weder eine Zielseite noch ein Filtersettting anzugeben, denn bis hierher und nicht weiter wollen wir gelangen&lt;br /&gt;
* Optional kann auch eine Weiterleitungsseite definiert und ein Filter angegeben werden, wenn man einen Link &amp;quot;Zurück&amp;quot; generieren will&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos wie man einen Zurück-Link erstellt, siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&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;
[[File:mm_backend_FE_Detailansicht_einrichten_liste.png|thumb|400px]]&lt;br /&gt;
Es erscheinen nun drei Einträge in der Liste der Ausgabevorgaben.&lt;br /&gt;
* BE Listenansicht&lt;br /&gt;
* FE Detailansicht&lt;br /&gt;
* FE Listenansicht&lt;br /&gt;
&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;
==Attribute zur Detailansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Das Vorgehen ist analog zum Punkt 4 zu verstehen. Einzig, dass wir hier am Ende alle Attribute anzeigen lassen (inkl. Bild und Beschreibung).&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Anmerkung|&lt;br /&gt;
Das Drag &amp;amp; Drop eines Attributes auf den 1. Platz funktioniert momentan nicht. Ein Ticket dazu ist in Bearbeitung. https://github.com/MetaModels/core/issues/259&lt;br /&gt;
Man kann das Attribut auf den 2. Platz schieben und dann das von dem 1. Platz runter auf den 2.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] ([[Benutzer Diskussion:Andreas|Diskussion]]) 01:40, 5. Jun. 2014 (CEST)}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Das Problem ist mittlerweile behoben. Man kann Attribute per Drag and Drop an die erste Stelle bewegen.&lt;br /&gt;
&lt;br /&gt;
==Frontend-Module erstellen==&lt;br /&gt;
{{Hinweis|Einige Einstellmöglichkeiten in den nachstehend beschriebenen Modulen sind erst nach einer Zwischenspeicherung des Moduls erreichbar.}}&lt;br /&gt;
[[File:mm_backend_FE-Module_Liste.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Frontend-Modul für Listenansicht einrichten:&lt;br /&gt;
&lt;br /&gt;
* Wähle den ''Modultyp'' &amp;quot;MetaModels-Liste&amp;quot; aus&lt;br /&gt;
* Wähle das entsprechend ''MetaModel'' aus, in unserem Fall &amp;quot;Musicbox&amp;quot;&lt;br /&gt;
* Bei ''Sortieren nach'' und ''Sortierreihenfolge'' das gewünschte Attribut festlegen bzw. ob auf- oder absteigend sortiert werden soll&lt;br /&gt;
* ''Anzuwendende Filtereinstellungen'' bleibt vorläuftig leer. Das heißt soviel wie, dass wir in unserer Liste alle Datensätze (Musikstücke), die wir in unserer Musicbox erfasst haben, in der Liste anzeigen möchten&lt;br /&gt;
* Bei ''Eigenes Template für Datensatzliste auswählen'' den vorgegebenen Default &amp;quot;mod_metamodel_list&amp;quot; nehmen&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellung'' nehmen wir nun die zuvor definierte Ausgabevoreinstellung &amp;quot;FE Listenansicht&amp;quot;. Damit werden nur die Daten der Felder ausgegeben, die wir unter Punkt 9 als sichtbar gekennzeichnet haben, und zwar in der dort definierten Reihenfolge&lt;br /&gt;
&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;
[[File:mm_backend_FE-Module_Detail.png|thumb|400px]]&lt;br /&gt;
Frontend-Modul für Detailansicht einrichten:&lt;br /&gt;
Dieses FE-Modul richten wir analog dem FE-Modul der Listenansicht ein, allerdings mit zwei wichtigen Unterschieden:&lt;br /&gt;
&lt;br /&gt;
* Bei ''Anzuwendende Filtereinstellungen'' muss nun der Filter &amp;quot;FE Link Detail&amp;quot; angewählt werden. Dieser bewirkt, dass man hier, in der Detailansicht, auch nur den Datenansatz angezeigt bekommt, den man in der Listenansicht angeklickt hatte.&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellungen'' wählen wir die in den Ansichtsdarstellungen definierte Einstellung &amp;quot;FE Detailansicht&amp;quot;. Hier werden alle Daten angezeigt, die wir unter Punkt ... als sichtbar angegeben haben. In diesem Falle alle.&lt;br /&gt;
&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;
==Frontend-Module einbinden und Seitenvorschau==&lt;br /&gt;
[[File:mm_backend_FE-Module_einsetzen.png|thumb|400px]]&lt;br /&gt;
Zum Schluss bindet man die beiden Frontend-Module in den gewünschten Artikel ein.&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== Detail-Link anpassen==&lt;br /&gt;
Wenn der Rendereinstellung für die FE-Ansicht der passende Filter mitgegeben wurde, wird am Ende des Items standardmässig ein Link namens '''Details''' generiert. &lt;br /&gt;
Im Standard-Template '''metamodel_prerendered.html5''' sieht der PHP-Code, wo der Link vorkommt, so aus:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($arrItem['jumpTo']['deep']): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $arrItem['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;details; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Die Bezeichnung des Links lässt sich umbenennen, ohne in das Template eingreifen zu müssen.&amp;lt;br&amp;gt;&lt;br /&gt;
Hierzu kann man bei '/system/config/'''langconfig.php'''' folgende Anpassungen machen. 3 Beipiele...&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['details'] = '...mehr Details';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle'][id]['details'] = 'Zurück zur Liste';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
'''1. Fal'''l: Jeder Link in MetaModels wird zu '... mehr Details' umbenannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''2. Fall''': Nur die Links in der MetaModel-Tabelle 'mm_meineTabelle' werden zu 'weiter...' umbeannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''3. Fall''': Interessant, wenn man von der FE Detailansicht zurück zur FE Listenansicht gelangen will. In diesem Fall kann man nicht nur die MM Tabelle angeben, sondern auch die '''id''' der [[MetaModels_Backend:_Ausgabevorgaben#Einstieg|Rendereinstellung]] angeben. &lt;br /&gt;
&lt;br /&gt;
Beispiel für langconfig.php:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
/* Put your custom configuration here */ &lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox'][4]['details'] = 'Zurück zur Liste';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Mögliches Endresultat=&lt;br /&gt;
&lt;br /&gt;
==Frontend Ansicht==&lt;br /&gt;
Und so könnte es aussehen&lt;br /&gt;
* links: Die Daten werden standardmässig in kompakter Form ausgegeben&lt;br /&gt;
* rechts: mit etwas CSS lassen sich die Daten sowohl in der Listen- wie Detailsicht gut formatieren&lt;br /&gt;
* die Labels lassen sich auch ausschalten. Siehe [[MetaModels_Backend:_Eingabemaske#Backend_Liste_gestalten|hier]]&lt;br /&gt;
[[File:mm_frontend_beispiel.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
==HTML-Konstrukt==&lt;br /&gt;
Die Daten werden über das Template &amp;quot;metamodel_prerendered.html5&amp;quot; ausgegeben. Jeder Datensatz wird als '''item''' ausgegeben, dieser besteht aus den Attributen, die in den Rendereinstellungen definiert wurden. Bei jedem Attribut wird standardmässig '''label''' und '''value''' ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attributs1&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut1&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut3&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&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;
&lt;br /&gt;
[[MetaModels_Beispiel_1|Zurück zur Beispiel 1]] | [[MetaModels_Beispiel_3|Weiter zum Beispiel 3: Weitere Filter hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/MetaModels_Beispiel_2</id>
		<title>MetaModels Beispiel 2</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels_Beispiel_2"/>
				<updated>2014-08-05T09:03:35Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Attribute zur Detailansicht hinzufügen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Frontend einrichten=&lt;br /&gt;
Wir haben im Backend bereits ein paar Daten (Musikstücke) erfasst und möchten diese nun im Frontend anzeigen lassen. Hierfür benötigen wir eine Übersichtseite (Liste) und eine Detailsansicht. Plus noch eine minimale Navigation, um zwischen Liste und Detailansicht hin- und herklicken zu können.&lt;br /&gt;
Hierbei werden wir auch die Filtertechnik von MetaModels einsetzen.&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;
=Seiterstruktur anpassen=&lt;br /&gt;
== In der Seitenstruktur zwei leere Seiten einrichten==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_seitenstruktur_einrichten.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Zuerst richten wir in der Seitenstruktur zwei neue (leere) Seiten ein.&lt;br /&gt;
&lt;br /&gt;
* '''Musicbox''' (diese Seite wird die Listenansicht aufnehmen)&lt;br /&gt;
* '''Music''' (diese Seite wird für die Darstellung der Detailansicht verantwortlich sein)&lt;br /&gt;
&lt;br /&gt;
Sowohl MetaModels als auch die später benötigten Frontend-Module werden auf diese Seiten zugreifen müssen, deswegen richten wir diese vorab ein, auch wenn noch kein Inhalt definiert ist.&lt;br /&gt;
&lt;br /&gt;
==Einfachen Filter erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir steigen nun wieder bei MetaModels bei '''Musicbox''' ein und gehen zur [[MetaModels_Backend:_Filter|MM-Backend Funktion: Filter]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_einrichten.png|thumb|400px]]&lt;br /&gt;
Hier müssen wir thematisch etwas vorausgreifen, und ein Instrument bereitstellen, das bei der Einrichtung der Frontend-Ansichten in MetaModels benötigt wird: '''Wir brauchen einen Filter'''.&lt;br /&gt;
Bei MetaModels haben Filter eine breitere Bedeutung als dies umgangssprachlich der Fall ist. Filter steuern jede Art von Ansichtsdarstellung, sowohl im Backend als auch im Frontend.&amp;amp;nbsp;Aus der Sicht von MetaModels gibt es nicht eine Listen- und eine separate Archivansicht, wie man das z.B. von News oder Catalog her kennt. Für MetaModels ist jede Ansicht eine Listenansicht. Es ist der Filter, der bestimmt ob n Datensätze (aka Liste) oder nur 1 Datensatz (aka Detailansicht) angezeigt wird. Mit anderen Worten: Der Filter und nicht das Frontend-Modul macht den Unterschied.&lt;br /&gt;
&lt;br /&gt;
* Die Filterübersicht ist noch leer (Keine Einträge gefunden)&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Den Namen eingeben, z.B. &amp;quot;FE Link Detail&amp;quot; (FE steht für Frontend) und speichern&lt;br /&gt;
* Die Filterübersicht zeigt nun diesen Eintrag. Wähle das rechte Icon ''Filterattribute für Filtereinstellung definieren''.&lt;br /&gt;
* Auf '''Neu''' klicken und das Icon (mit Pfeil) für '''einsetzen''' wählen&lt;br /&gt;
* Nun kann man den Typ '''Einfache Abfrage''' auswählen&lt;br /&gt;
* Einen Haken bei dem Kästchen '''Aktiviert''' setzen&lt;br /&gt;
* Das '''Attribut''' Alias auswählen und den URL-Parameter '''auto_item''' eingeben&lt;br /&gt;
* Alle weiteren Optionen bleiben leer oder nicht angeklickt. Als '''Template''' den Standard '''mm_filteritem_default''' auswählen&lt;br /&gt;
* Speichern und Schliessen&lt;br /&gt;
&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;
===URL-Parameter auto_item===&lt;br /&gt;
[[File:mm_backend_filter_einrichten2.png|thumb|400px]]&lt;br /&gt;
Der URL-Parameter '''auto_item''' ist in Kombination mit dem Attribut '''Alias''' dann interessant, wenn man in der URL das '/alias' raushaben möchte.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
aus...&lt;br /&gt;
meineDomain.com/album/alias/born-to-die.html&lt;br /&gt;
wird...&lt;br /&gt;
meineDomain.com/album/born-to-die.html&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der URL-Parameter '''auto_item''' verwendet werden soll, dann muss in den System-Einstellungen im BE im Abschnitt ''Frontend-Einstellungen'' die Option '''Den auto_item-Parameter verwenden''' angehakt sein, sonst erfolgt keine Ausgabe des Details ( =&amp;gt;There are no items matching your search.)&lt;br /&gt;
&lt;br /&gt;
'''Fazit'''&amp;lt;br&amp;gt;&lt;br /&gt;
Der Filter &amp;quot;FE Link Detail&amp;quot; besteht nun aus einer einzigen Definition. Wir werden in einem späteren Beispiel sehen, dass ein Filter auch aus mehreren Definitionen bestehen kann. Das ist eine weitere Neuerung in MetaModels, nämlich, dass man sich im Wesentlichen seine eigenen Filter zusammenbauen kann.&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;
==Listenansicht erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir bereits einen Eintrag &amp;quot;BE Listenansicht&amp;quot; an. Auf '''Neu''' klicken.&lt;br /&gt;
* Den Namen '''FE Listenansicht''' eingeben&lt;br /&gt;
* Als Template '''metamodel_prerendered (global scope)&amp;quot; wählen&lt;br /&gt;
* Als '''Zielseite''' die vorhin definierte Seite &amp;quot;Music&amp;quot; angeben. Klicke hierzu auf das Icon &amp;quot;Globus&amp;quot; und wähle die Seite aus dem Pulldown-Menu aus.{ {link_url::xx} } wird dann automatisch eingesetzt.&lt;br /&gt;
* Unter '''Filtereinstellungen''' wählen wir den vorhin definierten Filter &amp;quot;FE Link Detail&amp;quot;.&amp;lt;br&amp;gt;(''sollte der Filter zunächst nicht angezeigt werden, dann hilft =&amp;gt;speichern weiter'')&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
* Nun erscheinen zwei Einträge in der Liste der Ausgabevorgaben&lt;br /&gt;
&lt;br /&gt;
Mit diesen Einstellungen legt man grob fest, welches Aussehen (Template) die Seite haben soll, wohin die Reise gehen wird (Zielseite) und was bei dieser Zielseite angezeigt werden soll (was durch den Filter bestimmt wird).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man hier kein Filter angibt, wird später im Frontend kein '''Details'''-Link erscheinen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos zum Details-Link siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&lt;br /&gt;
&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;
==Attribute zur Listenansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Klick auf das Icon rechts '''Attribute hinzufügen'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' (geht schneller und einfacher als alle über &amp;quot;Neu&amp;quot; hinzufügen)&lt;br /&gt;
* Bestätige die folgenden Screens&lt;br /&gt;
* Lege fest, welche Attribute in der Listenansicht angezeigt werden sollen (Icon &amp;quot;Auge&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Man kann auch die Einstellung der Attribute anschauen, wie im letzten Screen angezeigt. Standardmäßig wird jedem Attribut zusätzlich ein Template mitgegeben. In unserem Beispiel analog dem Typ das Template &amp;quot;mm_attr_text (global scope)&amp;quot;.&lt;br /&gt;
Man erkennt hier schon im Ansatz, dass in MetaModels praktisch jedes Detail über ein Template gesteuert wird. Was für eine mögliche Individualisierung letztlich heißt, dass man in der freien Gestaltung potentiell unendliche viele Möglichkeiten zur Verfügung gestellt bekommt.&lt;br /&gt;
&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;
==Detailansicht erstellen==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]] (aka Rendereinstellungen).&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir die Einträge &amp;quot;BE Listenansicht&amp;quot; und &amp;quot;FE Listenansicht&amp;quot; an.&lt;br /&gt;
* Wir klicken auf &amp;quot;neu&amp;quot;&lt;br /&gt;
* Gib den Namen &amp;quot;FE Detailansicht&amp;quot; an&lt;br /&gt;
* Als Template wähen wir &amp;quot;metamodel_prerendered (global scope) an.&lt;br /&gt;
* In diesem Fall brauchen wir weder eine Zielseite noch ein Filtersettting anzugeben, denn bis hierher und nicht weiter wollen wir gelangen&lt;br /&gt;
* Optional kann auch eine Weiterleitungsseite definiert und ein Filter angegeben werden, wenn man einen Link &amp;quot;Zurück&amp;quot; generieren will&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos wie man einen Zurück-Link erstellt, siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&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;
[[File:mm_backend_FE_Detailansicht_einrichten_liste.png|thumb|400px]]&lt;br /&gt;
Es erscheinen nun drei Einträge in der Liste der Ausgabevorgaben.&lt;br /&gt;
* BE Listenansicht&lt;br /&gt;
* FE Detailansicht&lt;br /&gt;
* FE Listenansicht&lt;br /&gt;
&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;
==Attribute zur Detailansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Das Vorgehen ist analog zum Punkt 4 zu verstehen. Einzig, dass wir hier am Ende alle Attribute anzeigen lassen (inkl. Bild und Beschreibung).&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Anmerkung|&lt;br /&gt;
Das Drag &amp;amp; Drop eines Attributes auf den 1. Platz funktioniert momentan nicht. Ein Ticket dazu ist in Bearbeitung. https://github.com/MetaModels/core/issues/259&lt;br /&gt;
Man kann das Attribut auf den 2. Platz schieben und dann das von dem 1. Platz runter auf den 2.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] ([[Benutzer Diskussion:Andreas|Diskussion]]) 01:40, 5. Jun. 2014 (CEST)}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Das Problem ist mittlerweile behoben. Man kann Attribute per Drag and Drop an die erste Stelle bewegen.&lt;br /&gt;
&lt;br /&gt;
==Frontend-Module erstellen==&lt;br /&gt;
{{Hinweis|Einige Einstellmöglichkeiten in den nachstehend beschriebenen Modulen sind erst nach einer Zwischenspeicherung des Moduls erreichbar.}}&lt;br /&gt;
[[File:mm_backend_FE-Module_Liste.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Frontend-Modul für Listenansicht einrichten:&lt;br /&gt;
&lt;br /&gt;
* Wähle den ''Modultyp'' &amp;quot;MetaModels-Liste&amp;quot; aus&lt;br /&gt;
* Wähle das entsprechend ''MetaModel'' aus, in unserem Fall &amp;quot;Musicbox&amp;quot;&lt;br /&gt;
* Bei ''Sortieren nach'' und ''Sortierreihenfolge'' das gewünschte Attribut festlegen bzw. ob auf- oder absteigend sortiert werden soll&lt;br /&gt;
* ''Anzuwendende Filtereinstellungen'' bleibt vorläuftig leer. Das heißt soviel wie, dass wir in unserer Liste alle Datensätze (Musikstücke), die wir in unserer Musicbox erfasst haben, in der Liste anzeigen möchten&lt;br /&gt;
* Bei ''Eigenes Template für Datensatzliste auswählen'' den vorgegebenen Default &amp;quot;mod_metamodel_list&amp;quot; nehmen&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellung'' nehmen wir nun die zuvor definierte Ausgabevoreinstellung &amp;quot;FE Listenansicht&amp;quot;. Damit werden nur die Daten der Felder ausgegeben, die wir unter Punkt 9 als sichtbar gekennzeichnet haben, und zwar in der dort definierten Reihenfolge&lt;br /&gt;
&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;
[[File:mm_backend_FE-Module_Detail.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Dieses FE-Modul richten wir analog dem FE-Modul der Listenansicht ein, allerdings mit zwei wichtigen Unterschieden:&lt;br /&gt;
&lt;br /&gt;
* Bei ''Anzuwendende Filtereinstellungen'' muss nun der Filter &amp;quot;FE Link Detail&amp;quot; angewählt werden. Dieser bewirkt, dass man hier, in der Detailansicht, auch nur den Datenansatz angezeigt bekommt, den man in der Listenansicht angeklickt hatte.&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellungen'' wählen wir die in den Ansichtsdarstellungen definierte Einstellung &amp;quot;FE Detailansicht&amp;quot;. Hier werden alle Daten angezeigt, die wir unter Punkt ... als sichtbar angegeben haben. In diesem Falle alle.&lt;br /&gt;
&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;
==Frontend-Module einbinden und Seitenvorschau==&lt;br /&gt;
[[File:mm_backend_FE-Module_einsetzen.png|thumb|400px]]&lt;br /&gt;
Zum Schluss bindet man die beiden Frontend-Module in den gewünschten Artikel ein.&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== Detail-Link anpassen==&lt;br /&gt;
Wenn der Rendereinstellung für die FE-Ansicht der passende Filter mitgegeben wurde, wird am Ende des Items standardmässig ein Link namens '''Details''' generiert. &lt;br /&gt;
Im Standard-Template '''metamodel_prerendered.html5''' sieht der PHP-Code, wo der Link vorkommt, so aus:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($arrItem['jumpTo']['deep']): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $arrItem['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;details; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Die Bezeichnung des Links lässt sich umbenennen, ohne in das Template eingreifen zu müssen.&amp;lt;br&amp;gt;&lt;br /&gt;
Hierzu kann man bei '/system/config/'''langconfig.php'''' folgende Anpassungen machen. 3 Beipiele...&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['details'] = '...mehr Details';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle'][id]['details'] = 'Zurück zur Liste';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
'''1. Fal'''l: Jeder Link in MetaModels wird zu '... mehr Details' umbenannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''2. Fall''': Nur die Links in der MetaModel-Tabelle 'mm_meineTabelle' werden zu 'weiter...' umbeannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''3. Fall''': Interessant, wenn man von der FE Detailansicht zurück zur FE Listenansicht gelangen will. In diesem Fall kann man nicht nur die MM Tabelle angeben, sondern auch die '''id''' der [[MetaModels_Backend:_Ausgabevorgaben#Einstieg|Rendereinstellung]] angeben. &lt;br /&gt;
&lt;br /&gt;
Beispiel für langconfig.php:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
/* Put your custom configuration here */ &lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox'][4]['details'] = 'Zurück zur Liste';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Mögliches Endresultat=&lt;br /&gt;
&lt;br /&gt;
==Frontend Ansicht==&lt;br /&gt;
Und so könnte es aussehen&lt;br /&gt;
* links: Die Daten werden standardmässig in kompakter Form ausgegeben&lt;br /&gt;
* rechts: mit etwas CSS lassen sich die Daten sowohl in der Listen- wie Detailsicht gut formatieren&lt;br /&gt;
* die Labels lassen sich auch ausschalten. Siehe [[MetaModels_Backend:_Eingabemaske#Backend_Liste_gestalten|hier]]&lt;br /&gt;
[[File:mm_frontend_beispiel.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
==HTML-Konstrukt==&lt;br /&gt;
Die Daten werden über das Template &amp;quot;metamodel_prerendered.html5&amp;quot; ausgegeben. Jeder Datensatz wird als '''item''' ausgegeben, dieser besteht aus den Attributen, die in den Rendereinstellungen definiert wurden. Bei jedem Attribut wird standardmässig '''label''' und '''value''' ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attributs1&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut1&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut3&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&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;
&lt;br /&gt;
[[MetaModels_Beispiel_1|Zurück zur Beispiel 1]] | [[MetaModels_Beispiel_3|Weiter zum Beispiel 3: Weitere Filter hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/MetaModels_Beispiel_2</id>
		<title>MetaModels Beispiel 2</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels_Beispiel_2"/>
				<updated>2014-08-05T09:03:04Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Attribute zur Detailansicht hinzufügen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Frontend einrichten=&lt;br /&gt;
Wir haben im Backend bereits ein paar Daten (Musikstücke) erfasst und möchten diese nun im Frontend anzeigen lassen. Hierfür benötigen wir eine Übersichtseite (Liste) und eine Detailsansicht. Plus noch eine minimale Navigation, um zwischen Liste und Detailansicht hin- und herklicken zu können.&lt;br /&gt;
Hierbei werden wir auch die Filtertechnik von MetaModels einsetzen.&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;
=Seiterstruktur anpassen=&lt;br /&gt;
== In der Seitenstruktur zwei leere Seiten einrichten==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_seitenstruktur_einrichten.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Zuerst richten wir in der Seitenstruktur zwei neue (leere) Seiten ein.&lt;br /&gt;
&lt;br /&gt;
* '''Musicbox''' (diese Seite wird die Listenansicht aufnehmen)&lt;br /&gt;
* '''Music''' (diese Seite wird für die Darstellung der Detailansicht verantwortlich sein)&lt;br /&gt;
&lt;br /&gt;
Sowohl MetaModels als auch die später benötigten Frontend-Module werden auf diese Seiten zugreifen müssen, deswegen richten wir diese vorab ein, auch wenn noch kein Inhalt definiert ist.&lt;br /&gt;
&lt;br /&gt;
==Einfachen Filter erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir steigen nun wieder bei MetaModels bei '''Musicbox''' ein und gehen zur [[MetaModels_Backend:_Filter|MM-Backend Funktion: Filter]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_einrichten.png|thumb|400px]]&lt;br /&gt;
Hier müssen wir thematisch etwas vorausgreifen, und ein Instrument bereitstellen, das bei der Einrichtung der Frontend-Ansichten in MetaModels benötigt wird: '''Wir brauchen einen Filter'''.&lt;br /&gt;
Bei MetaModels haben Filter eine breitere Bedeutung als dies umgangssprachlich der Fall ist. Filter steuern jede Art von Ansichtsdarstellung, sowohl im Backend als auch im Frontend.&amp;amp;nbsp;Aus der Sicht von MetaModels gibt es nicht eine Listen- und eine separate Archivansicht, wie man das z.B. von News oder Catalog her kennt. Für MetaModels ist jede Ansicht eine Listenansicht. Es ist der Filter, der bestimmt ob n Datensätze (aka Liste) oder nur 1 Datensatz (aka Detailansicht) angezeigt wird. Mit anderen Worten: Der Filter und nicht das Frontend-Modul macht den Unterschied.&lt;br /&gt;
&lt;br /&gt;
* Die Filterübersicht ist noch leer (Keine Einträge gefunden)&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Den Namen eingeben, z.B. &amp;quot;FE Link Detail&amp;quot; (FE steht für Frontend) und speichern&lt;br /&gt;
* Die Filterübersicht zeigt nun diesen Eintrag. Wähle das rechte Icon ''Filterattribute für Filtereinstellung definieren''.&lt;br /&gt;
* Auf '''Neu''' klicken und das Icon (mit Pfeil) für '''einsetzen''' wählen&lt;br /&gt;
* Nun kann man den Typ '''Einfache Abfrage''' auswählen&lt;br /&gt;
* Einen Haken bei dem Kästchen '''Aktiviert''' setzen&lt;br /&gt;
* Das '''Attribut''' Alias auswählen und den URL-Parameter '''auto_item''' eingeben&lt;br /&gt;
* Alle weiteren Optionen bleiben leer oder nicht angeklickt. Als '''Template''' den Standard '''mm_filteritem_default''' auswählen&lt;br /&gt;
* Speichern und Schliessen&lt;br /&gt;
&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;
===URL-Parameter auto_item===&lt;br /&gt;
[[File:mm_backend_filter_einrichten2.png|thumb|400px]]&lt;br /&gt;
Der URL-Parameter '''auto_item''' ist in Kombination mit dem Attribut '''Alias''' dann interessant, wenn man in der URL das '/alias' raushaben möchte.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
aus...&lt;br /&gt;
meineDomain.com/album/alias/born-to-die.html&lt;br /&gt;
wird...&lt;br /&gt;
meineDomain.com/album/born-to-die.html&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der URL-Parameter '''auto_item''' verwendet werden soll, dann muss in den System-Einstellungen im BE im Abschnitt ''Frontend-Einstellungen'' die Option '''Den auto_item-Parameter verwenden''' angehakt sein, sonst erfolgt keine Ausgabe des Details ( =&amp;gt;There are no items matching your search.)&lt;br /&gt;
&lt;br /&gt;
'''Fazit'''&amp;lt;br&amp;gt;&lt;br /&gt;
Der Filter &amp;quot;FE Link Detail&amp;quot; besteht nun aus einer einzigen Definition. Wir werden in einem späteren Beispiel sehen, dass ein Filter auch aus mehreren Definitionen bestehen kann. Das ist eine weitere Neuerung in MetaModels, nämlich, dass man sich im Wesentlichen seine eigenen Filter zusammenbauen kann.&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;
==Listenansicht erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir bereits einen Eintrag &amp;quot;BE Listenansicht&amp;quot; an. Auf '''Neu''' klicken.&lt;br /&gt;
* Den Namen '''FE Listenansicht''' eingeben&lt;br /&gt;
* Als Template '''metamodel_prerendered (global scope)&amp;quot; wählen&lt;br /&gt;
* Als '''Zielseite''' die vorhin definierte Seite &amp;quot;Music&amp;quot; angeben. Klicke hierzu auf das Icon &amp;quot;Globus&amp;quot; und wähle die Seite aus dem Pulldown-Menu aus.{ {link_url::xx} } wird dann automatisch eingesetzt.&lt;br /&gt;
* Unter '''Filtereinstellungen''' wählen wir den vorhin definierten Filter &amp;quot;FE Link Detail&amp;quot;.&amp;lt;br&amp;gt;(''sollte der Filter zunächst nicht angezeigt werden, dann hilft =&amp;gt;speichern weiter'')&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
* Nun erscheinen zwei Einträge in der Liste der Ausgabevorgaben&lt;br /&gt;
&lt;br /&gt;
Mit diesen Einstellungen legt man grob fest, welches Aussehen (Template) die Seite haben soll, wohin die Reise gehen wird (Zielseite) und was bei dieser Zielseite angezeigt werden soll (was durch den Filter bestimmt wird).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man hier kein Filter angibt, wird später im Frontend kein '''Details'''-Link erscheinen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos zum Details-Link siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&lt;br /&gt;
&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;
==Attribute zur Listenansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Klick auf das Icon rechts '''Attribute hinzufügen'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' (geht schneller und einfacher als alle über &amp;quot;Neu&amp;quot; hinzufügen)&lt;br /&gt;
* Bestätige die folgenden Screens&lt;br /&gt;
* Lege fest, welche Attribute in der Listenansicht angezeigt werden sollen (Icon &amp;quot;Auge&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Man kann auch die Einstellung der Attribute anschauen, wie im letzten Screen angezeigt. Standardmäßig wird jedem Attribut zusätzlich ein Template mitgegeben. In unserem Beispiel analog dem Typ das Template &amp;quot;mm_attr_text (global scope)&amp;quot;.&lt;br /&gt;
Man erkennt hier schon im Ansatz, dass in MetaModels praktisch jedes Detail über ein Template gesteuert wird. Was für eine mögliche Individualisierung letztlich heißt, dass man in der freien Gestaltung potentiell unendliche viele Möglichkeiten zur Verfügung gestellt bekommt.&lt;br /&gt;
&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;
==Detailansicht erstellen==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]] (aka Rendereinstellungen).&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir die Einträge &amp;quot;BE Listenansicht&amp;quot; und &amp;quot;FE Listenansicht&amp;quot; an.&lt;br /&gt;
* Wir klicken auf &amp;quot;neu&amp;quot;&lt;br /&gt;
* Gib den Namen &amp;quot;FE Detailansicht&amp;quot; an&lt;br /&gt;
* Als Template wähen wir &amp;quot;metamodel_prerendered (global scope) an.&lt;br /&gt;
* In diesem Fall brauchen wir weder eine Zielseite noch ein Filtersettting anzugeben, denn bis hierher und nicht weiter wollen wir gelangen&lt;br /&gt;
* Optional kann auch eine Weiterleitungsseite definiert und ein Filter angegeben werden, wenn man einen Link &amp;quot;Zurück&amp;quot; generieren will&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos wie man einen Zurück-Link erstellt, siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&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;
[[File:mm_backend_FE_Detailansicht_einrichten_liste.png|thumb|400px]]&lt;br /&gt;
Es erscheinen nun drei Einträge in der Liste der Ausgabevorgaben.&lt;br /&gt;
* BE Listenansicht&lt;br /&gt;
* FE Detailansicht&lt;br /&gt;
* FE Listenansicht&lt;br /&gt;
&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;
==Attribute zur Detailansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Das Vorgehen ist analog zum Punkt 4 zu verstehen. Einzig, dass wir hier am Ende alle Attribute anzeigen lassen (inkl. Bild und Beschreibung).&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Anmerkung|&lt;br /&gt;
Das Drag &amp;amp; Drop eines Attributes auf den 1. Platz funktioniert momentan nicht. Ein Ticket dazu ist in Bearbeitung. https://github.com/MetaModels/core/issues/259&lt;br /&gt;
Man kann das Attribut auf den 2. Platz schieben und dann das von dem 1. Platz runter auf den 2.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] ([[Benutzer Diskussion:Andreas|Diskussion]]) 01:40, 5. Jun. 2014 (CEST)}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Das Problem ist mittlerweile behoben. Man kann Attribute per Drag and Drop an die erte Stelle bewegen.&lt;br /&gt;
&lt;br /&gt;
==Frontend-Module erstellen==&lt;br /&gt;
{{Hinweis|Einige Einstellmöglichkeiten in den nachstehend beschriebenen Modulen sind erst nach einer Zwischenspeicherung des Moduls erreichbar.}}&lt;br /&gt;
[[File:mm_backend_FE-Module_Liste.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Frontend-Modul für Listenansicht einrichten:&lt;br /&gt;
&lt;br /&gt;
* Wähle den ''Modultyp'' &amp;quot;MetaModels-Liste&amp;quot; aus&lt;br /&gt;
* Wähle das entsprechend ''MetaModel'' aus, in unserem Fall &amp;quot;Musicbox&amp;quot;&lt;br /&gt;
* Bei ''Sortieren nach'' und ''Sortierreihenfolge'' das gewünschte Attribut festlegen bzw. ob auf- oder absteigend sortiert werden soll&lt;br /&gt;
* ''Anzuwendende Filtereinstellungen'' bleibt vorläuftig leer. Das heißt soviel wie, dass wir in unserer Liste alle Datensätze (Musikstücke), die wir in unserer Musicbox erfasst haben, in der Liste anzeigen möchten&lt;br /&gt;
* Bei ''Eigenes Template für Datensatzliste auswählen'' den vorgegebenen Default &amp;quot;mod_metamodel_list&amp;quot; nehmen&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellung'' nehmen wir nun die zuvor definierte Ausgabevoreinstellung &amp;quot;FE Listenansicht&amp;quot;. Damit werden nur die Daten der Felder ausgegeben, die wir unter Punkt 9 als sichtbar gekennzeichnet haben, und zwar in der dort definierten Reihenfolge&lt;br /&gt;
&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;
[[File:mm_backend_FE-Module_Detail.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Dieses FE-Modul richten wir analog dem FE-Modul der Listenansicht ein, allerdings mit zwei wichtigen Unterschieden:&lt;br /&gt;
&lt;br /&gt;
* Bei ''Anzuwendende Filtereinstellungen'' muss nun der Filter &amp;quot;FE Link Detail&amp;quot; angewählt werden. Dieser bewirkt, dass man hier, in der Detailansicht, auch nur den Datenansatz angezeigt bekommt, den man in der Listenansicht angeklickt hatte.&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellungen'' wählen wir die in den Ansichtsdarstellungen definierte Einstellung &amp;quot;FE Detailansicht&amp;quot;. Hier werden alle Daten angezeigt, die wir unter Punkt ... als sichtbar angegeben haben. In diesem Falle alle.&lt;br /&gt;
&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;
==Frontend-Module einbinden und Seitenvorschau==&lt;br /&gt;
[[File:mm_backend_FE-Module_einsetzen.png|thumb|400px]]&lt;br /&gt;
Zum Schluss bindet man die beiden Frontend-Module in den gewünschten Artikel ein.&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== Detail-Link anpassen==&lt;br /&gt;
Wenn der Rendereinstellung für die FE-Ansicht der passende Filter mitgegeben wurde, wird am Ende des Items standardmässig ein Link namens '''Details''' generiert. &lt;br /&gt;
Im Standard-Template '''metamodel_prerendered.html5''' sieht der PHP-Code, wo der Link vorkommt, so aus:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($arrItem['jumpTo']['deep']): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $arrItem['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;details; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Die Bezeichnung des Links lässt sich umbenennen, ohne in das Template eingreifen zu müssen.&amp;lt;br&amp;gt;&lt;br /&gt;
Hierzu kann man bei '/system/config/'''langconfig.php'''' folgende Anpassungen machen. 3 Beipiele...&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['details'] = '...mehr Details';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle'][id]['details'] = 'Zurück zur Liste';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
'''1. Fal'''l: Jeder Link in MetaModels wird zu '... mehr Details' umbenannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''2. Fall''': Nur die Links in der MetaModel-Tabelle 'mm_meineTabelle' werden zu 'weiter...' umbeannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''3. Fall''': Interessant, wenn man von der FE Detailansicht zurück zur FE Listenansicht gelangen will. In diesem Fall kann man nicht nur die MM Tabelle angeben, sondern auch die '''id''' der [[MetaModels_Backend:_Ausgabevorgaben#Einstieg|Rendereinstellung]] angeben. &lt;br /&gt;
&lt;br /&gt;
Beispiel für langconfig.php:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
/* Put your custom configuration here */ &lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox'][4]['details'] = 'Zurück zur Liste';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Mögliches Endresultat=&lt;br /&gt;
&lt;br /&gt;
==Frontend Ansicht==&lt;br /&gt;
Und so könnte es aussehen&lt;br /&gt;
* links: Die Daten werden standardmässig in kompakter Form ausgegeben&lt;br /&gt;
* rechts: mit etwas CSS lassen sich die Daten sowohl in der Listen- wie Detailsicht gut formatieren&lt;br /&gt;
* die Labels lassen sich auch ausschalten. Siehe [[MetaModels_Backend:_Eingabemaske#Backend_Liste_gestalten|hier]]&lt;br /&gt;
[[File:mm_frontend_beispiel.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
==HTML-Konstrukt==&lt;br /&gt;
Die Daten werden über das Template &amp;quot;metamodel_prerendered.html5&amp;quot; ausgegeben. Jeder Datensatz wird als '''item''' ausgegeben, dieser besteht aus den Attributen, die in den Rendereinstellungen definiert wurden. Bei jedem Attribut wird standardmässig '''label''' und '''value''' ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attributs1&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut1&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut3&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&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;
&lt;br /&gt;
[[MetaModels_Beispiel_1|Zurück zur Beispiel 1]] | [[MetaModels_Beispiel_3|Weiter zum Beispiel 3: Weitere Filter hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/MetaModels_Beispiel_2</id>
		<title>MetaModels Beispiel 2</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels_Beispiel_2"/>
				<updated>2014-08-05T08:21:51Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Einfachen Filter erstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Frontend einrichten=&lt;br /&gt;
Wir haben im Backend bereits ein paar Daten (Musikstücke) erfasst und möchten diese nun im Frontend anzeigen lassen. Hierfür benötigen wir eine Übersichtseite (Liste) und eine Detailsansicht. Plus noch eine minimale Navigation, um zwischen Liste und Detailansicht hin- und herklicken zu können.&lt;br /&gt;
Hierbei werden wir auch die Filtertechnik von MetaModels einsetzen.&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;
=Seiterstruktur anpassen=&lt;br /&gt;
== In der Seitenstruktur zwei leere Seiten einrichten==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_seitenstruktur_einrichten.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Zuerst richten wir in der Seitenstruktur zwei neue (leere) Seiten ein.&lt;br /&gt;
&lt;br /&gt;
* '''Musicbox''' (diese Seite wird die Listenansicht aufnehmen)&lt;br /&gt;
* '''Music''' (diese Seite wird für die Darstellung der Detailansicht verantwortlich sein)&lt;br /&gt;
&lt;br /&gt;
Sowohl MetaModels als auch die später benötigten Frontend-Module werden auf diese Seiten zugreifen müssen, deswegen richten wir diese vorab ein, auch wenn noch kein Inhalt definiert ist.&lt;br /&gt;
&lt;br /&gt;
==Einfachen Filter erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir steigen nun wieder bei MetaModels bei '''Musicbox''' ein und gehen zur [[MetaModels_Backend:_Filter|MM-Backend Funktion: Filter]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_einrichten.png|thumb|400px]]&lt;br /&gt;
Hier müssen wir thematisch etwas vorausgreifen, und ein Instrument bereitstellen, das bei der Einrichtung der Frontend-Ansichten in MetaModels benötigt wird: '''Wir brauchen einen Filter'''.&lt;br /&gt;
Bei MetaModels haben Filter eine breitere Bedeutung als dies umgangssprachlich der Fall ist. Filter steuern jede Art von Ansichtsdarstellung, sowohl im Backend als auch im Frontend.&amp;amp;nbsp;Aus der Sicht von MetaModels gibt es nicht eine Listen- und eine separate Archivansicht, wie man das z.B. von News oder Catalog her kennt. Für MetaModels ist jede Ansicht eine Listenansicht. Es ist der Filter, der bestimmt ob n Datensätze (aka Liste) oder nur 1 Datensatz (aka Detailansicht) angezeigt wird. Mit anderen Worten: Der Filter und nicht das Frontend-Modul macht den Unterschied.&lt;br /&gt;
&lt;br /&gt;
* Die Filterübersicht ist noch leer (Keine Einträge gefunden)&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Den Namen eingeben, z.B. &amp;quot;FE Link Detail&amp;quot; (FE steht für Frontend) und speichern&lt;br /&gt;
* Die Filterübersicht zeigt nun diesen Eintrag. Wähle das rechte Icon ''Filterattribute für Filtereinstellung definieren''.&lt;br /&gt;
* Auf '''Neu''' klicken und das Icon (mit Pfeil) für '''einsetzen''' wählen&lt;br /&gt;
* Nun kann man den Typ '''Einfache Abfrage''' auswählen&lt;br /&gt;
* Einen Haken bei dem Kästchen '''Aktiviert''' setzen&lt;br /&gt;
* Das '''Attribut''' Alias auswählen und den URL-Parameter '''auto_item''' eingeben&lt;br /&gt;
* Alle weiteren Optionen bleiben leer oder nicht angeklickt. Als '''Template''' den Standard '''mm_filteritem_default''' auswählen&lt;br /&gt;
* Speichern und Schliessen&lt;br /&gt;
&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;
===URL-Parameter auto_item===&lt;br /&gt;
[[File:mm_backend_filter_einrichten2.png|thumb|400px]]&lt;br /&gt;
Der URL-Parameter '''auto_item''' ist in Kombination mit dem Attribut '''Alias''' dann interessant, wenn man in der URL das '/alias' raushaben möchte.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
aus...&lt;br /&gt;
meineDomain.com/album/alias/born-to-die.html&lt;br /&gt;
wird...&lt;br /&gt;
meineDomain.com/album/born-to-die.html&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der URL-Parameter '''auto_item''' verwendet werden soll, dann muss in den System-Einstellungen im BE im Abschnitt ''Frontend-Einstellungen'' die Option '''Den auto_item-Parameter verwenden''' angehakt sein, sonst erfolgt keine Ausgabe des Details ( =&amp;gt;There are no items matching your search.)&lt;br /&gt;
&lt;br /&gt;
'''Fazit'''&amp;lt;br&amp;gt;&lt;br /&gt;
Der Filter &amp;quot;FE Link Detail&amp;quot; besteht nun aus einer einzigen Definition. Wir werden in einem späteren Beispiel sehen, dass ein Filter auch aus mehreren Definitionen bestehen kann. Das ist eine weitere Neuerung in MetaModels, nämlich, dass man sich im Wesentlichen seine eigenen Filter zusammenbauen kann.&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;
==Listenansicht erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir bereits einen Eintrag &amp;quot;BE Listenansicht&amp;quot; an. Auf '''Neu''' klicken.&lt;br /&gt;
* Den Namen '''FE Listenansicht''' eingeben&lt;br /&gt;
* Als Template '''metamodel_prerendered (global scope)&amp;quot; wählen&lt;br /&gt;
* Als '''Zielseite''' die vorhin definierte Seite &amp;quot;Music&amp;quot; angeben. Klicke hierzu auf das Icon &amp;quot;Globus&amp;quot; und wähle die Seite aus dem Pulldown-Menu aus.{ {link_url::xx} } wird dann automatisch eingesetzt.&lt;br /&gt;
* Unter '''Filtereinstellungen''' wählen wir den vorhin definierten Filter &amp;quot;FE Link Detail&amp;quot;.&amp;lt;br&amp;gt;(''sollte der Filter zunächst nicht angezeigt werden, dann hilft =&amp;gt;speichern weiter'')&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
* Nun erscheinen zwei Einträge in der Liste der Ausgabevorgaben&lt;br /&gt;
&lt;br /&gt;
Mit diesen Einstellungen legt man grob fest, welches Aussehen (Template) die Seite haben soll, wohin die Reise gehen wird (Zielseite) und was bei dieser Zielseite angezeigt werden soll (was durch den Filter bestimmt wird).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man hier kein Filter angibt, wird später im Frontend kein '''Details'''-Link erscheinen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos zum Details-Link siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&lt;br /&gt;
&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;
==Attribute zur Listenansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Klick auf das Icon rechts '''Attribute hinzufügen'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' (geht schneller und einfacher als alle über &amp;quot;Neu&amp;quot; hinzufügen)&lt;br /&gt;
* Bestätige die folgenden Screens&lt;br /&gt;
* Lege fest, welche Attribute in der Listenansicht angezeigt werden sollen (Icon &amp;quot;Auge&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Man kann auch die Einstellung der Attribute anschauen, wie im letzten Screen angezeigt. Standardmäßig wird jedem Attribut zusätzlich ein Template mitgegeben. In unserem Beispiel analog dem Typ das Template &amp;quot;mm_attr_text (global scope)&amp;quot;.&lt;br /&gt;
Man erkennt hier schon im Ansatz, dass in MetaModels praktisch jedes Detail über ein Template gesteuert wird. Was für eine mögliche Individualisierung letztlich heißt, dass man in der freien Gestaltung potentiell unendliche viele Möglichkeiten zur Verfügung gestellt bekommt.&lt;br /&gt;
&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;
==Detailansicht erstellen==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]] (aka Rendereinstellungen).&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir die Einträge &amp;quot;BE Listenansicht&amp;quot; und &amp;quot;FE Listenansicht&amp;quot; an.&lt;br /&gt;
* Wir klicken auf &amp;quot;neu&amp;quot;&lt;br /&gt;
* Gib den Namen &amp;quot;FE Detailansicht&amp;quot; an&lt;br /&gt;
* Als Template wähen wir &amp;quot;metamodel_prerendered (global scope) an.&lt;br /&gt;
* In diesem Fall brauchen wir weder eine Zielseite noch ein Filtersettting anzugeben, denn bis hierher und nicht weiter wollen wir gelangen&lt;br /&gt;
* Optional kann auch eine Weiterleitungsseite definiert und ein Filter angegeben werden, wenn man einen Link &amp;quot;Zurück&amp;quot; generieren will&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos wie man einen Zurück-Link erstellt, siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&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;
[[File:mm_backend_FE_Detailansicht_einrichten_liste.png|thumb|400px]]&lt;br /&gt;
Es erscheinen nun drei Einträge in der Liste der Ausgabevorgaben.&lt;br /&gt;
* BE Listenansicht&lt;br /&gt;
* FE Detailansicht&lt;br /&gt;
* FE Listenansicht&lt;br /&gt;
&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;
==Attribute zur Detailansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Das Vorgehen ist analog zum Punkt 4 zu verstehen. Einzig, dass wir hier am Ende alle Attribute anzeigen lassen (inkl. Bild und Beschreibung).&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Anmerkung|&lt;br /&gt;
Das Drag &amp;amp; Drop eines Attributes auf den 1. Platz funktioniert momentan nicht. Ein Ticket dazu ist in Bearbeitung. https://github.com/MetaModels/core/issues/259&lt;br /&gt;
Man kann das Attribut auf den 2. Platz schieben und dann das von dem 1. Platz runter auf den 2.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] ([[Benutzer Diskussion:Andreas|Diskussion]]) 01:40, 5. Jun. 2014 (CEST)}}&lt;br /&gt;
&lt;br /&gt;
==Frontend-Module erstellen==&lt;br /&gt;
{{Hinweis|Einige Einstellmöglichkeiten in den nachstehend beschriebenen Modulen sind erst nach einer Zwischenspeicherung des Moduls erreichbar.}}&lt;br /&gt;
[[File:mm_backend_FE-Module_Liste.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Frontend-Modul für Listenansicht einrichten:&lt;br /&gt;
&lt;br /&gt;
* Wähle den ''Modultyp'' &amp;quot;MetaModels-Liste&amp;quot; aus&lt;br /&gt;
* Wähle das entsprechend ''MetaModel'' aus, in unserem Fall &amp;quot;Musicbox&amp;quot;&lt;br /&gt;
* Bei ''Sortieren nach'' und ''Sortierreihenfolge'' das gewünschte Attribut festlegen bzw. ob auf- oder absteigend sortiert werden soll&lt;br /&gt;
* ''Anzuwendende Filtereinstellungen'' bleibt vorläuftig leer. Das heißt soviel wie, dass wir in unserer Liste alle Datensätze (Musikstücke), die wir in unserer Musicbox erfasst haben, in der Liste anzeigen möchten&lt;br /&gt;
* Bei ''Eigenes Template für Datensatzliste auswählen'' den vorgegebenen Default &amp;quot;mod_metamodel_list&amp;quot; nehmen&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellung'' nehmen wir nun die zuvor definierte Ausgabevoreinstellung &amp;quot;FE Listenansicht&amp;quot;. Damit werden nur die Daten der Felder ausgegeben, die wir unter Punkt 9 als sichtbar gekennzeichnet haben, und zwar in der dort definierten Reihenfolge&lt;br /&gt;
&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;
[[File:mm_backend_FE-Module_Detail.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Dieses FE-Modul richten wir analog dem FE-Modul der Listenansicht ein, allerdings mit zwei wichtigen Unterschieden:&lt;br /&gt;
&lt;br /&gt;
* Bei ''Anzuwendende Filtereinstellungen'' muss nun der Filter &amp;quot;FE Link Detail&amp;quot; angewählt werden. Dieser bewirkt, dass man hier, in der Detailansicht, auch nur den Datenansatz angezeigt bekommt, den man in der Listenansicht angeklickt hatte.&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellungen'' wählen wir die in den Ansichtsdarstellungen definierte Einstellung &amp;quot;FE Detailansicht&amp;quot;. Hier werden alle Daten angezeigt, die wir unter Punkt ... als sichtbar angegeben haben. In diesem Falle alle.&lt;br /&gt;
&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;
==Frontend-Module einbinden und Seitenvorschau==&lt;br /&gt;
[[File:mm_backend_FE-Module_einsetzen.png|thumb|400px]]&lt;br /&gt;
Zum Schluss bindet man die beiden Frontend-Module in den gewünschten Artikel ein.&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== Detail-Link anpassen==&lt;br /&gt;
Wenn der Rendereinstellung für die FE-Ansicht der passende Filter mitgegeben wurde, wird am Ende des Items standardmässig ein Link namens '''Details''' generiert. &lt;br /&gt;
Im Standard-Template '''metamodel_prerendered.html5''' sieht der PHP-Code, wo der Link vorkommt, so aus:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($arrItem['jumpTo']['deep']): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $arrItem['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;details; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Die Bezeichnung des Links lässt sich umbenennen, ohne in das Template eingreifen zu müssen.&amp;lt;br&amp;gt;&lt;br /&gt;
Hierzu kann man bei '/system/config/'''langconfig.php'''' folgende Anpassungen machen. 3 Beipiele...&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['details'] = '...mehr Details';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle'][id]['details'] = 'Zurück zur Liste';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
'''1. Fal'''l: Jeder Link in MetaModels wird zu '... mehr Details' umbenannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''2. Fall''': Nur die Links in der MetaModel-Tabelle 'mm_meineTabelle' werden zu 'weiter...' umbeannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''3. Fall''': Interessant, wenn man von der FE Detailansicht zurück zur FE Listenansicht gelangen will. In diesem Fall kann man nicht nur die MM Tabelle angeben, sondern auch die '''id''' der [[MetaModels_Backend:_Ausgabevorgaben#Einstieg|Rendereinstellung]] angeben. &lt;br /&gt;
&lt;br /&gt;
Beispiel für langconfig.php:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
/* Put your custom configuration here */ &lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox'][4]['details'] = 'Zurück zur Liste';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Mögliches Endresultat=&lt;br /&gt;
&lt;br /&gt;
==Frontend Ansicht==&lt;br /&gt;
Und so könnte es aussehen&lt;br /&gt;
* links: Die Daten werden standardmässig in kompakter Form ausgegeben&lt;br /&gt;
* rechts: mit etwas CSS lassen sich die Daten sowohl in der Listen- wie Detailsicht gut formatieren&lt;br /&gt;
* die Labels lassen sich auch ausschalten. Siehe [[MetaModels_Backend:_Eingabemaske#Backend_Liste_gestalten|hier]]&lt;br /&gt;
[[File:mm_frontend_beispiel.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
==HTML-Konstrukt==&lt;br /&gt;
Die Daten werden über das Template &amp;quot;metamodel_prerendered.html5&amp;quot; ausgegeben. Jeder Datensatz wird als '''item''' ausgegeben, dieser besteht aus den Attributen, die in den Rendereinstellungen definiert wurden. Bei jedem Attribut wird standardmässig '''label''' und '''value''' ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attributs1&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut1&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut3&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&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;
&lt;br /&gt;
[[MetaModels_Beispiel_1|Zurück zur Beispiel 1]] | [[MetaModels_Beispiel_3|Weiter zum Beispiel 3: Weitere Filter hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/MetaModels_Beispiel_2</id>
		<title>MetaModels Beispiel 2</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels_Beispiel_2"/>
				<updated>2014-08-05T08:20:42Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Einfachen Filter erstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Frontend einrichten=&lt;br /&gt;
Wir haben im Backend bereits ein paar Daten (Musikstücke) erfasst und möchten diese nun im Frontend anzeigen lassen. Hierfür benötigen wir eine Übersichtseite (Liste) und eine Detailsansicht. Plus noch eine minimale Navigation, um zwischen Liste und Detailansicht hin- und herklicken zu können.&lt;br /&gt;
Hierbei werden wir auch die Filtertechnik von MetaModels einsetzen.&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;
=Seiterstruktur anpassen=&lt;br /&gt;
== In der Seitenstruktur zwei leere Seiten einrichten==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_seitenstruktur_einrichten.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Zuerst richten wir in der Seitenstruktur zwei neue (leere) Seiten ein.&lt;br /&gt;
&lt;br /&gt;
* '''Musicbox''' (diese Seite wird die Listenansicht aufnehmen)&lt;br /&gt;
* '''Music''' (diese Seite wird für die Darstellung der Detailansicht verantwortlich sein)&lt;br /&gt;
&lt;br /&gt;
Sowohl MetaModels als auch die später benötigten Frontend-Module werden auf diese Seiten zugreifen müssen, deswegen richten wir diese vorab ein, auch wenn noch kein Inhalt definiert ist.&lt;br /&gt;
&lt;br /&gt;
==Einfachen Filter erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_filter.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Wir steigen nun wieder bei MetaModels bei '''Musicbox''' ein und gehen zur [[MetaModels_Backend:_Filter|MM-Backend Funktion: Filter]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_filter_einrichten.png|thumb|400px]]&lt;br /&gt;
Hier müssen wir thematisch etwas vorausgreifen, und ein Instrument bereitstellen, das bei der Einrichtung der Frontend-Ansichten in MetaModels benötigt wird: '''Wir brauchen einen Filter'''.&lt;br /&gt;
Bei MetaModels haben Filter eine breitere Bedeutung als dies umgangssprachlich der Fall ist. Filter steuern jede Art von Ansichtsdarstellung, sowohl im Backend als auch im Frontend.&amp;amp;nbsp;Aus der Sicht von MetaModels gibt es nicht eine Listen- und eine separate Archivansicht, wie man das z.B. von News oder Catalog her kennt. Für MetaModels ist jede Ansicht eine Listenansicht. Es ist der Filter, der bestimmt ob n Datensätze (aka Liste) oder nur 1 Datensatz (aka Detailansicht) angezeigt wird. Mit anderen Worten: Der Filter und nicht das Frontend-Modul macht den Unterschied.&lt;br /&gt;
&lt;br /&gt;
* Die Filterübersicht ist noch leer (Keine Einträge gefunden)&lt;br /&gt;
* Auf '''Neu''' klicken&lt;br /&gt;
* Den Namen eingeben, z.B. &amp;quot;FE Link Detail&amp;quot; (FE steht für Frontend) und speichern&lt;br /&gt;
* Die Filterübersicht zeigt nun diesen Eintrag. Wähle das rechte Icon ''Filterattribute für Filtereinstellung definieren''.&lt;br /&gt;
* Auf '''Neu''' klicken und das Icon (mit Pfeil) für '''einsetzen''' wählen&lt;br /&gt;
* Nun kann man den Typ '''Einfache Abfrage''' auswählen&lt;br /&gt;
* Einen Haken bei dem Kästchen '''Aktivieren''' setzen&lt;br /&gt;
* Das '''Attribut''' Alias auswählen und den URL-Parameter '''auto_item''' eingeben&lt;br /&gt;
* Alle weiteren Optionen bleiben leer oder nicht angeklickt. Als '''Template''' den Standard '''mm_filteritem_default''' auswählen&lt;br /&gt;
* Speichern und Schliessen&lt;br /&gt;
&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;
===URL-Parameter auto_item===&lt;br /&gt;
[[File:mm_backend_filter_einrichten2.png|thumb|400px]]&lt;br /&gt;
Der URL-Parameter '''auto_item''' ist in Kombination mit dem Attribut '''Alias''' dann interessant, wenn man in der URL das '/alias' raushaben möchte.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
aus...&lt;br /&gt;
meineDomain.com/album/alias/born-to-die.html&lt;br /&gt;
wird...&lt;br /&gt;
meineDomain.com/album/born-to-die.html&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der URL-Parameter '''auto_item''' verwendet werden soll, dann muss in den System-Einstellungen im BE im Abschnitt ''Frontend-Einstellungen'' die Option '''Den auto_item-Parameter verwenden''' angehakt sein, sonst erfolgt keine Ausgabe des Details ( =&amp;gt;There are no items matching your search.)&lt;br /&gt;
&lt;br /&gt;
'''Fazit'''&amp;lt;br&amp;gt;&lt;br /&gt;
Der Filter &amp;quot;FE Link Detail&amp;quot; besteht nun aus einer einzigen Definition. Wir werden in einem späteren Beispiel sehen, dass ein Filter auch aus mehreren Definitionen bestehen kann. Das ist eine weitere Neuerung in MetaModels, nämlich, dass man sich im Wesentlichen seine eigenen Filter zusammenbauen kann.&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;
==Listenansicht erstellen==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir bereits einen Eintrag &amp;quot;BE Listenansicht&amp;quot; an. Auf '''Neu''' klicken.&lt;br /&gt;
* Den Namen '''FE Listenansicht''' eingeben&lt;br /&gt;
* Als Template '''metamodel_prerendered (global scope)&amp;quot; wählen&lt;br /&gt;
* Als '''Zielseite''' die vorhin definierte Seite &amp;quot;Music&amp;quot; angeben. Klicke hierzu auf das Icon &amp;quot;Globus&amp;quot; und wähle die Seite aus dem Pulldown-Menu aus.{ {link_url::xx} } wird dann automatisch eingesetzt.&lt;br /&gt;
* Unter '''Filtereinstellungen''' wählen wir den vorhin definierten Filter &amp;quot;FE Link Detail&amp;quot;.&amp;lt;br&amp;gt;(''sollte der Filter zunächst nicht angezeigt werden, dann hilft =&amp;gt;speichern weiter'')&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
* Nun erscheinen zwei Einträge in der Liste der Ausgabevorgaben&lt;br /&gt;
&lt;br /&gt;
Mit diesen Einstellungen legt man grob fest, welches Aussehen (Template) die Seite haben soll, wohin die Reise gehen wird (Zielseite) und was bei dieser Zielseite angezeigt werden soll (was durch den Filter bestimmt wird).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis'''&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man hier kein Filter angibt, wird später im Frontend kein '''Details'''-Link erscheinen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos zum Details-Link siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&lt;br /&gt;
&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;
==Attribute zur Listenansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Listenansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Klick auf das Icon rechts '''Attribute hinzufügen'''&lt;br /&gt;
* Wähle '''Alle hinzufügen''' (geht schneller und einfacher als alle über &amp;quot;Neu&amp;quot; hinzufügen)&lt;br /&gt;
* Bestätige die folgenden Screens&lt;br /&gt;
* Lege fest, welche Attribute in der Listenansicht angezeigt werden sollen (Icon &amp;quot;Auge&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Man kann auch die Einstellung der Attribute anschauen, wie im letzten Screen angezeigt. Standardmäßig wird jedem Attribut zusätzlich ein Template mitgegeben. In unserem Beispiel analog dem Typ das Template &amp;quot;mm_attr_text (global scope)&amp;quot;.&lt;br /&gt;
Man erkennt hier schon im Ansatz, dass in MetaModels praktisch jedes Detail über ein Template gesteuert wird. Was für eine mögliche Individualisierung letztlich heißt, dass man in der freien Gestaltung potentiell unendliche viele Möglichkeiten zur Verfügung gestellt bekommt.&lt;br /&gt;
&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;
==Detailansicht erstellen==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Wähle die MM-Backend-Funktion [[MetaModels_Backend:_Ausgabevorgaben|&amp;quot;Ausgabevorgaben&amp;quot;]] (aka Rendereinstellungen).&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten.png|thumb|400px]]&lt;br /&gt;
* Die Übersichtsseite zeigt dir die Einträge &amp;quot;BE Listenansicht&amp;quot; und &amp;quot;FE Listenansicht&amp;quot; an.&lt;br /&gt;
* Wir klicken auf &amp;quot;neu&amp;quot;&lt;br /&gt;
* Gib den Namen &amp;quot;FE Detailansicht&amp;quot; an&lt;br /&gt;
* Als Template wähen wir &amp;quot;metamodel_prerendered (global scope) an.&lt;br /&gt;
* In diesem Fall brauchen wir weder eine Zielseite noch ein Filtersettting anzugeben, denn bis hierher und nicht weiter wollen wir gelangen&lt;br /&gt;
* Optional kann auch eine Weiterleitungsseite definiert und ein Filter angegeben werden, wenn man einen Link &amp;quot;Zurück&amp;quot; generieren will&lt;br /&gt;
* Speichern und schliessen&lt;br /&gt;
&lt;br /&gt;
'''Tipp'''&amp;lt;br&amp;gt;&lt;br /&gt;
Weitere Infos wie man einen Zurück-Link erstellt, siehe [[MetaModels_Beispiel_2#Detail-Link_anpassen|unten]]&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;
[[File:mm_backend_FE_Detailansicht_einrichten_liste.png|thumb|400px]]&lt;br /&gt;
Es erscheinen nun drei Einträge in der Liste der Ausgabevorgaben.&lt;br /&gt;
* BE Listenansicht&lt;br /&gt;
* FE Detailansicht&lt;br /&gt;
* FE Listenansicht&lt;br /&gt;
&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;
==Attribute zur Detailansicht hinzufügen==&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_FE_Detailansicht_einrichten2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Das Vorgehen ist analog zum Punkt 4 zu verstehen. Einzig, dass wir hier am Ende alle Attribute anzeigen lassen (inkl. Bild und Beschreibung).&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Anmerkung|&lt;br /&gt;
Das Drag &amp;amp; Drop eines Attributes auf den 1. Platz funktioniert momentan nicht. Ein Ticket dazu ist in Bearbeitung. https://github.com/MetaModels/core/issues/259&lt;br /&gt;
Man kann das Attribut auf den 2. Platz schieben und dann das von dem 1. Platz runter auf den 2.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Andreas|Andreas Burg]] ([[Benutzer Diskussion:Andreas|Diskussion]]) 01:40, 5. Jun. 2014 (CEST)}}&lt;br /&gt;
&lt;br /&gt;
==Frontend-Module erstellen==&lt;br /&gt;
{{Hinweis|Einige Einstellmöglichkeiten in den nachstehend beschriebenen Modulen sind erst nach einer Zwischenspeicherung des Moduls erreichbar.}}&lt;br /&gt;
[[File:mm_backend_FE-Module_Liste.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Frontend-Modul für Listenansicht einrichten:&lt;br /&gt;
&lt;br /&gt;
* Wähle den ''Modultyp'' &amp;quot;MetaModels-Liste&amp;quot; aus&lt;br /&gt;
* Wähle das entsprechend ''MetaModel'' aus, in unserem Fall &amp;quot;Musicbox&amp;quot;&lt;br /&gt;
* Bei ''Sortieren nach'' und ''Sortierreihenfolge'' das gewünschte Attribut festlegen bzw. ob auf- oder absteigend sortiert werden soll&lt;br /&gt;
* ''Anzuwendende Filtereinstellungen'' bleibt vorläuftig leer. Das heißt soviel wie, dass wir in unserer Liste alle Datensätze (Musikstücke), die wir in unserer Musicbox erfasst haben, in der Liste anzeigen möchten&lt;br /&gt;
* Bei ''Eigenes Template für Datensatzliste auswählen'' den vorgegebenen Default &amp;quot;mod_metamodel_list&amp;quot; nehmen&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellung'' nehmen wir nun die zuvor definierte Ausgabevoreinstellung &amp;quot;FE Listenansicht&amp;quot;. Damit werden nur die Daten der Felder ausgegeben, die wir unter Punkt 9 als sichtbar gekennzeichnet haben, und zwar in der dort definierten Reihenfolge&lt;br /&gt;
&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;
[[File:mm_backend_FE-Module_Detail.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Dieses FE-Modul richten wir analog dem FE-Modul der Listenansicht ein, allerdings mit zwei wichtigen Unterschieden:&lt;br /&gt;
&lt;br /&gt;
* Bei ''Anzuwendende Filtereinstellungen'' muss nun der Filter &amp;quot;FE Link Detail&amp;quot; angewählt werden. Dieser bewirkt, dass man hier, in der Detailansicht, auch nur den Datenansatz angezeigt bekommt, den man in der Listenansicht angeklickt hatte.&lt;br /&gt;
* Bei ''Anzuwendende Rendereinstellungen'' wählen wir die in den Ansichtsdarstellungen definierte Einstellung &amp;quot;FE Detailansicht&amp;quot;. Hier werden alle Daten angezeigt, die wir unter Punkt ... als sichtbar angegeben haben. In diesem Falle alle.&lt;br /&gt;
&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;
==Frontend-Module einbinden und Seitenvorschau==&lt;br /&gt;
[[File:mm_backend_FE-Module_einsetzen.png|thumb|400px]]&lt;br /&gt;
Zum Schluss bindet man die beiden Frontend-Module in den gewünschten Artikel ein.&lt;br /&gt;
Done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== Detail-Link anpassen==&lt;br /&gt;
Wenn der Rendereinstellung für die FE-Ansicht der passende Filter mitgegeben wurde, wird am Ende des Items standardmässig ein Link namens '''Details''' generiert. &lt;br /&gt;
Im Standard-Template '''metamodel_prerendered.html5''' sieht der PHP-Code, wo der Link vorkommt, so aus:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($arrItem['jumpTo']['deep']): ?&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;lt;?php echo $arrItem['jumpTo']['url']; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;details; ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Die Bezeichnung des Links lässt sich umbenennen, ohne in das Template eingreifen zu müssen.&amp;lt;br&amp;gt;&lt;br /&gt;
Hierzu kann man bei '/system/config/'''langconfig.php'''' folgende Anpassungen machen. 3 Beipiele...&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['details'] = '...mehr Details';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_meineTabelle'][id]['details'] = 'Zurück zur Liste';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
'''1. Fal'''l: Jeder Link in MetaModels wird zu '... mehr Details' umbenannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''2. Fall''': Nur die Links in der MetaModel-Tabelle 'mm_meineTabelle' werden zu 'weiter...' umbeannt&amp;lt;br&amp;gt;&lt;br /&gt;
'''3. Fall''': Interessant, wenn man von der FE Detailansicht zurück zur FE Listenansicht gelangen will. In diesem Fall kann man nicht nur die MM Tabelle angeben, sondern auch die '''id''' der [[MetaModels_Backend:_Ausgabevorgaben#Einstieg|Rendereinstellung]] angeben. &lt;br /&gt;
&lt;br /&gt;
Beispiel für langconfig.php:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
/* Put your custom configuration here */ &lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox']['details'] = 'weiter...';&lt;br /&gt;
$GLOBALS['TL_LANG']['MSC']['mm_musicbox'][4]['details'] = 'Zurück zur Liste';&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Mögliches Endresultat=&lt;br /&gt;
&lt;br /&gt;
==Frontend Ansicht==&lt;br /&gt;
Und so könnte es aussehen&lt;br /&gt;
* links: Die Daten werden standardmässig in kompakter Form ausgegeben&lt;br /&gt;
* rechts: mit etwas CSS lassen sich die Daten sowohl in der Listen- wie Detailsicht gut formatieren&lt;br /&gt;
* die Labels lassen sich auch ausschalten. Siehe [[MetaModels_Backend:_Eingabemaske#Backend_Liste_gestalten|hier]]&lt;br /&gt;
[[File:mm_frontend_beispiel.png|link=|900px]]&lt;br /&gt;
&lt;br /&gt;
==HTML-Konstrukt==&lt;br /&gt;
Die Daten werden über das Template &amp;quot;metamodel_prerendered.html5&amp;quot; ausgegeben. Jeder Datensatz wird als '''item''' ausgegeben, dieser besteht aus den Attributen, die in den Rendereinstellungen definiert wurden. Bei jedem Attribut wird standardmässig '''label''' und '''value''' ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attributs1&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut1&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;label&amp;quot;&amp;gt;Titel des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;Wert des attribut2&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;field attribut3&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&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;
&lt;br /&gt;
[[MetaModels_Beispiel_1|Zurück zur Beispiel 1]] | [[MetaModels_Beispiel_3|Weiter zum Beispiel 3: Weitere Filter hinzufügen]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/MetaModels_Beispiel_1</id>
		<title>MetaModels Beispiel 1</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels_Beispiel_1"/>
				<updated>2014-08-05T06:54:59Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* BE-Formular */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:MetaModels|B]]&lt;br /&gt;
=Aufgabenstellung: Backend einrichten=&lt;br /&gt;
Als Beispielprojekt soll eine einfache &amp;quot;Musikbox&amp;quot; gebaut werden, in der Musikstücke mit gewissen Attributen (&amp;quot;Eigenschaften&amp;quot;) erfasst werden. Zu diesem Zweck wird zuerst das Backend aufgebaut. Hierzu braucht man eine Übersichtsliste und ein Erfassungsformular.&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;
=Eine leere Datenbank erstellen=&lt;br /&gt;
&lt;br /&gt;
[[File:mm_startscreen.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Zuerst wird ein neues MetaModel erstellt. Technischen gesehen wird dabei in der Contao-Datenbank eine leere Tabelle angelegt. &lt;br /&gt;
&lt;br /&gt;
* Klick auf '''Neues MetaModel'''&lt;br /&gt;
* Name: '''Musicbox'''&lt;br /&gt;
* TabellenName: '''mm_musicbox'''&lt;br /&gt;
&lt;br /&gt;
===Anmerkungen===&lt;br /&gt;
&lt;br /&gt;
* In unserem Beispiel aktivieren wir die Mehrsprachigkeit, um nachträglich weitere Sprachen anlegen zu können. Falls man im Vorfeld weiß, dass man keine weiteren Sprachen benötigt, muss der Haken nicht gesetzt werden. MetaModels ist auch ohne Mehrprachigkeit komplett funktionstüchtig.&lt;br /&gt;
* '''Varianten unterstützen''' wird vorläufig nicht benötigt.... und gegebenenfalls zu einem späteren Zeitpunkt erläutert.&lt;br /&gt;
&lt;br /&gt;
===Auszuführen===&lt;br /&gt;
&lt;br /&gt;
* '''Übersetzung''' anhaken&lt;br /&gt;
* mindestens eine unterstützte Sprache auswählen&lt;br /&gt;
* eine Sprache (z.B. '''Deutsch''') zum Fallback machen&lt;br /&gt;
* '''Varianten aktivieren''' vorerst nicht anhaken&lt;br /&gt;
&lt;br /&gt;
Man sieht nun ein MetaModel &amp;quot;Musicbox&amp;quot; mit 0 (null) Datensätzen und einer Reihe von Icons, die nun zur Weiterbearbeitung genutzt werden.&lt;br /&gt;
&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;
==MetaModels Backend-Funktionen==&lt;br /&gt;
Kurze Erklärung, was sich hinter den nun dargestellten Symbolen verbirgt (in Klammern ist angegegeben, was als Tooltip ausgegeben wird):&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_funktionen_icons.png|link=|border]]&lt;br /&gt;
&lt;br /&gt;
[[File:icons_bearbeiten.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier gelangt man wieder zurück zum gleichen Screen, wie bei der Erstellung eines neuen MetaModels. Hier kann man jederzeit sowohl den '''Namen''' als auch den '''Tabellennamen''' des MetaModels ändern.&lt;br /&gt;
&lt;br /&gt;
# [[MetaModels_Backend:_Attribute|'''Attribute''']] (Attribute für MetaModel ID x definieren)&lt;br /&gt;
# [[MetaModels_Backend:_Ausgabevorgaben|'''Ausgabevorgaben''']] (Render-Einstellungen für MetaModel ID x definieren)&lt;br /&gt;
# [[MetaModels_Backend:_Eingabemaske|'''Eingabemaske''']] (Eingabemaske für das MetaModel ID x definieren)&lt;br /&gt;
# [[MetaModels_Backend:_Filter|'''Filter''']] (Filter für MetaModel ID x definieren)&lt;br /&gt;
# [[MetaModels_Backend:_Ansichtseinstellungen|'''Paletten- und Ansichtseinstellungen''']] (Definieren Sie die Eingabe- / Ausgabe-Optionen für MetaModel ID x)&lt;br /&gt;
&lt;br /&gt;
=Das Backend konfigurieren=&lt;br /&gt;
&lt;br /&gt;
Um das Backend für die Erfassung der Daten vorzubereiten benötigt man a) eine Übersichtsliste und b) ein Erfassungsformular. Hierzu braucht man 4 der 5 Backend-Funktionen von MetaModels.&lt;br /&gt;
&lt;br /&gt;
* Datenbank erstellen, benennen, Sprachvariable zuweisen&lt;br /&gt;
* Felder definieren, Attribute festlegen, Erfassungsformular gestalten&lt;br /&gt;
* Übersichtsliste definieren&lt;br /&gt;
* Erfassung (z.B. für Redakteure) freigeben&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Attribute==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_attribute.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier erfasst man die benötigen Felder für die Eingabe.&lt;br /&gt;
s. [[MetaModels_Backend:_Attribute|allgemeine Infos]] zu den Attributen&lt;br /&gt;
&lt;br /&gt;
[[File:mm_attribute_erfassen.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt man folgende Felder ein (im nebenstehenden Screen ist das beispielhaft für das Attribut &amp;quot;Titel&amp;quot; dargestellt):&lt;br /&gt;
{|&lt;br /&gt;
|- &lt;br /&gt;
| '''Titel'''&lt;br /&gt;
|&lt;br /&gt;
* Attribute Type= Text&lt;br /&gt;
* Column name= title&lt;br /&gt;
* Name (deutsch)= Titel&lt;br /&gt;
* Description (deutsch)= Name des Stücks&lt;br /&gt;
|- &lt;br /&gt;
| '''Interpret'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Text&lt;br /&gt;
* Column name= composer&lt;br /&gt;
* Name (deutsch)= Interpret&lt;br /&gt;
* Description (deutsch)= Name der Band, SängerIn oder InterpretIn&lt;br /&gt;
|- &lt;br /&gt;
| '''Land'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Text&lt;br /&gt;
* Column name= country&lt;br /&gt;
* Name (deutsch)= Land&lt;br /&gt;
* Description (deutsch)=&lt;br /&gt;
|- &lt;br /&gt;
| '''Jahr'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Dezimal&lt;br /&gt;
* Column name= year&lt;br /&gt;
* Name (deutsch)= Jahr&lt;br /&gt;
* Description (deutsch)= Erscheinungsjahr&lt;br /&gt;
|- &lt;br /&gt;
| '''Beschreibung'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Langtext&lt;br /&gt;
* Column name= description&lt;br /&gt;
* Name (deutsch)= Beschreibung&lt;br /&gt;
* Description (deutsch)= Wikipedia, Kurzbeschreibung, etc.&lt;br /&gt;
|- &lt;br /&gt;
| '''Cover'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Datei&lt;br /&gt;
* Column name= images&lt;br /&gt;
* Name (deutsch)= Cover&lt;br /&gt;
* Description (deutsch)= Cover, Bilder&lt;br /&gt;
|- &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Bis jetzt wurde bei keinem der Attribute die Option '''Unique values''' aktiviert.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Um die Einträge eindeutig identifizieren zu können, wird zusätzlich ein Alias-Attribut erzeugt:&lt;br /&gt;
|- &lt;br /&gt;
| '''Alias'''&lt;br /&gt;
| &lt;br /&gt;
* Attribute Type= Alias&lt;br /&gt;
* Column name= alias&lt;br /&gt;
* Name (deutsch)= Alias&lt;br /&gt;
* Description (deutsch)=&lt;br /&gt;
* Unique values= aktiviert&lt;br /&gt;
* Alias Neuerstellung erzwingen = aktiviert&amp;lt;br&amp;gt;(dann muss kein Alias eingegeben werden, wird neu berechnet bei Änderung des Titels)&lt;br /&gt;
* Aliasfelder = Titel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Ausgabevorgaben (aka Render-Einstellungen)==&lt;br /&gt;
[[File:icons_ausgabevorgaben.png|left|32px]]&lt;br /&gt;
Hier wird die Ansicht erfasst: Eine Listendarstellung für das Backend.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_ausgabe_definieren.png|right|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
* Auf '''neu''' klicken&lt;br /&gt;
* '''BE Listenansicht''' eingeben&lt;br /&gt;
* Der Rest kann so stehen bleiben, denn für die BE Listenansicht braucht man weder eine '''Zielseite''' noch '''Filter settings'''.&lt;br /&gt;
&lt;br /&gt;
(s. [[MetaModels_Backend:_Ausgabevorgaben|allgemeine Ausgabe-Vorgaben]])&lt;br /&gt;
&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;
[[File:mm_ausgabe_attribute_definieren.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Um auszuwählen, welche Felder in der BE Listenansicht angezeigt werden sollen, klickt man einfach auf das entsprechende Icon rechts:&lt;br /&gt;
&lt;br /&gt;
* '''Add all''' fügt alle Felder auf einen Rutsch hinzu. Man kann auch '''Neu''' wählen und die Felder einzeln hinzufügen, aber mit '''Add all''' gehts am schnellsten.&lt;br /&gt;
* Die Frage, ob alle Attribute hinzugefügt werden sollen(&amp;quot;''Add all attributes to render setting''&amp;quot;), wird mit '''Weiter''' bestätigt.&lt;br /&gt;
* Nun werden alle Attribute aufgelistet, die im vorangegangenen Schritt erfasst worden sind.&lt;br /&gt;
&lt;br /&gt;
Über das übliche 'Auge' werden nur die Attribute sichtbar gemacht, die in der Backend-Liste angezeigt werden sollen.&lt;br /&gt;
Für dieses Tutorial wählen wir : '''Titel''', '''Interpret''', '''Land''' und '''Jahr'''.&lt;br /&gt;
&lt;br /&gt;
(( alter Screen, wird ersetzt ))&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;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MM-Funktion: Eingabemaske (fka Paletteneinstellungen)==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_paletteneinstellungen.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier legt man fest, wo und wie im BE die Daten zur Musicbox erfasst werden sollen.&lt;br /&gt;
&lt;br /&gt;
===BE-Liste===&lt;br /&gt;
[[File:mm_paletten_BE_liste.png|thumb|400px]]&lt;br /&gt;
Nach Klick auf '''Neue Eingabemaske''' öffnet sich ein [[MetaModels_Backend:_Eingabemaske|Erfassungsformular]]. Hier die Werte eingeben, wie nebenan abgebildet:&lt;br /&gt;
* Name: '''BE Erfassung'''&lt;br /&gt;
* Option '''Als Standard benutzen'''&lt;br /&gt;
* Panel-Layout: Es stehen 4 Werte ('''filter''', '''sort''', '''search''' und '''limit''') zur Verfügung. Diese können auch über das Icon rechts abgerufen werden.&lt;br /&gt;
**Werden hier mehrere Werte eingegeben, so sind diese entweder durch Komma (,) oder durch Semikolon (;) voneinander zu trennen - nur mit Leerzeichen getrennte Werte werden ignoriert.&lt;br /&gt;
**Komma =&amp;gt; Ausgabe in der gleichen Zeile wie der vorhergehende Wert&lt;br /&gt;
**Semikolon =&amp;gt; Ausgabe in neuer Zeile.&lt;br /&gt;
* Integration: '''Als Einzeltabelle'''&lt;br /&gt;
* Sortiermodus: '''2 Datensätze nach wählbarem Feld sortiert darstellen''' (Wichtig: Sowohl dieser Wert als auch '''sort''' im '''Panel-Layout''' müssen definiert sein, ansonsten erscheint die Sortier-Funktion nicht.&lt;br /&gt;
* Sortierung: Auf- oder Absteigend... wie es dir gefällt&lt;br /&gt;
* Backend-Bereich: '''Inhalte''' (oder wo soll es in der Backend-Navigation eingesetzt werden)&lt;br /&gt;
* Backend-Icon: Auf Wunsch kann hier ein eigenes Icon gesetzt werden&lt;br /&gt;
* Backend-Beschreibung: wie abgebildet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nun wurde eine Eingabemaske namens '''BE Erfassung''' erstellt. Im Folgenden wird nun das Erfassungs-Formular ein wenig gestaltet.&amp;lt;br&amp;gt;&lt;br /&gt;
Im letzten Kapitel auf dieser Seite ('''Die Daten erfassen''') sieht man, wie die Liste/das Formular zwecks Erfassung der Musikstücke aussieht.&lt;br /&gt;
{{Hinweis|Mit der Erweiterung '''MetaModels Boilerplate''' (Nightly Build) kann man die MetaModels in einem separaten '''Backend-Bereich''' in der BE-Navigation unterbringen.}}{{Hinweis|Die Option '''Sortierung''' ist beim erstmaligen Bearbeiten der Seite noch nicht sichtbar. Es empfiehlt sich daher, nach Auswahl des '''Backend-Bereich'''s (hier: Inhalte) die Seite zu speichern. Jetzt kann die Sortierung festgelegt werden.}}&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;
===BE-Formular===&lt;br /&gt;
[[File:mm_paletten_BE_formular.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Man fügt nun alle Attribute zur Palette hinzu, indem man auf das Icon rechts (''Die Einstellungen der Palette ID xx bearbeiten'') klickt.&lt;br /&gt;
* '''Alle hinzufügen''' wählen und alle nun folgenden Screens bestätigen.&lt;br /&gt;
* Man erhält so eine Liste aller Attribute, die man einzeln bearbeiten kann.&lt;br /&gt;
* Auf Wunsch kann man hier auch die Reihenfolge umstellen und so bestimmen, wie die Daten erfasst werden sollen.&lt;br /&gt;
* Angefangen wird mit dem ersten Eintrag '''Titel [text]'''&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;
[[File:mm_paletten_BE_formular2.png|thumb|400px]]&lt;br /&gt;
&lt;br /&gt;
Folgendes Beispiel zeigt, was man bei der Erfassung des Attributs '''Titel''' alles einstellen kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Ein Klick auf das Editier-Icon zeigt die wichtigsten Einstellungen:&lt;br /&gt;
* Backend-Class: Damit kann man das Formular bzw. die Erfassungfelder etwas gestalten. 5 Werte stehen zur Verfügung: '''w50''', '''clr''', '''long''', '''wizard''' und '''m12'''&lt;br /&gt;
* Pflichtfeld: Durch Anklicken legt man fest, ob auf diesem Feld eine Inhaltsprüfung stattfinden soll. Die Felder werden mit einem roten Asterisk gekennzeichnet.&lt;br /&gt;
* Filterbar, Durchsuchbar, Sortierbar: Mit diesen Optionen kann man die BE-Liste etwas organisieren. Praktisch wenn man mehrere Dutzend/Hunderte von Datensätze erfasst hat.&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;
==MM-Funktion: Zugriffsrechte definieren==&lt;br /&gt;
&lt;br /&gt;
[[File:icons_ansichtseinstellungen.png|left|32px]]&lt;br /&gt;
&lt;br /&gt;
Hier legt man fest, wer im Backend auf die Daten von MetaModel zugreifen und diese editieren darf.&lt;br /&gt;
&lt;br /&gt;
[[File:mm_neues_metamodel_ansichtseinstellungen.png|730px]]&lt;br /&gt;
&lt;br /&gt;
Damit die Benutzer den MM auch sehen können, muß in den Gruppen-/Benutzerrechten auch noch dieser MM freigeschaltet werden. Den MM findet man unter 'Erlaubte Module' &amp;gt; 'Backend Module'. Je nachdem ob man den MM einzeln oder Untergeordnet anzeigen lässt dann an der jeweiligen Stelle.&lt;br /&gt;
&lt;br /&gt;
=Die Daten erfassen=&lt;br /&gt;
&lt;br /&gt;
[[File:mm_backend_erfassen.png|thumb|600px]]&lt;br /&gt;
&lt;br /&gt;
Und so sieht's aus:&amp;lt;br&amp;gt;Nun wird in der linken Navigationsübersicht &amp;quot;Backend-Module&amp;quot; ein neuer Eintrag angezeigt und man kann mit der Erfassung der Musikstücke beginnen.&lt;br /&gt;
&lt;br /&gt;
* Mit Klick auf '''MyMusik''' gelangt man auf die BE Listenansicht. Diese ist noch leer&lt;br /&gt;
* Mit Klick auf '''Neuer Datensatz'''. öffnet sich ein Formular, mit dem sich nun der erste Datensatz erfassen lässt&lt;br /&gt;
* Die gewünschten Werte eingeben und mit '''Speichern und Schliessen''' bestätigen&lt;br /&gt;
* Nun erscheint der erste Eintrag in der BE Listenansicht&lt;br /&gt;
* Diesen Vorgang wiederholen, bis alle Datensätze erfasst wurden&lt;br /&gt;
* Über der BE Listenansicht stehen nun die Panel-Layout Funktionen '''Suchen''', '''Sortieren''', '''Filtern''' und '''Anzeigen''' zur Verfügung&lt;br /&gt;
&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;
[[MetaModels_Beispielprojekt|Zurück zur Beispiel-Übersicht]] | [[MetaModels_Beispiel_2|Weiter zum Beispiel 2: Erstellung der Frontend-Ansicht]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/MetaModels</id>
		<title>MetaModels</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/MetaModels"/>
				<updated>2014-07-27T09:54:43Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Verfügbare Attribute und Filter */&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;
&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>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Insert-Tags</id>
		<title>Insert-Tags</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Insert-Tags"/>
				<updated>2014-03-18T22:29:46Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: /* Weitere Inserttags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen&lt;br /&gt;
}}&lt;br /&gt;
[[Category: Core]]&lt;br /&gt;
[[Category:Dev HOWTOS]]&lt;br /&gt;
[[Category:Anwender und Redakteure]]&lt;br /&gt;
&lt;br /&gt;
= Insert-Tags =&lt;br /&gt;
Contao bietet die Möglichkeit, mittels so genannter Insert-Tags Inhalte oder Funktionen zu referenzieren.&lt;br /&gt;
&lt;br /&gt;
Der Aufbau ist in der Regel &amp;lt;nowiki&amp;gt;{{Tagname::Argument}}&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
{{Achtung|Eine Verschachtelung – also der Aufruf eines Insert-Tags innerhalb eines anderen – ist nur mit &amp;lt;nowiki&amp;gt;{{iflng::*}}&amp;lt;/nowiki&amp;gt; möglich. Andere Insert-Tags können nicht verschachtelt werden.}}&lt;br /&gt;
{{Achtung|Werden Elemente inkludiert, die auf Javascript basieren, wird das Javascript nicht geladen. Abhilfe: [[Inserttags_Javascript_Support]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Liste der Insert-Tags ==&lt;br /&gt;
Die Liste stammt im Wesentlichen von [http://www.contao.org/typolight-insert-tags.html Contao.org]. Über die dort dokumentierten Insert-Tags hinaus gibt es weitere Insert-Tags. Bitte vervollständige die Liste.&lt;br /&gt;
=== Link-Elemente ===&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! '''Insert-Tag''' !! '''Beschreibung'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{link::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit einem Link zu einer internen Seite oder einer externen URL ersetzt (ersetzen Sie * mit der ID oder dem Alias der Seite oder der URL).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{link::back}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der zuletzt besuchte Seite ersetzt. Kann auch mit link_open, link_url und link_title verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{link::login}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit einem Link zur Anmeldeseite des aktuellen Frontend-Benutzers (falls vorhanden) ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{link_open::*}}&amp;lt;/nowiki&amp;gt; || Wird mit dem öffnenden Tag eines Links zu einer internen Seite ersetzt: &amp;lt;nowiki&amp;gt;{{link_open::12}}&amp;lt;/nowiki&amp;gt;Click here&amp;lt;nowiki&amp;gt;{{link_close}}&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{link_url::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der URL einer internen Seite ersetzt: &amp;lt;nowiki&amp;gt;&amp;lt;a href=&amp;quot;{{link_url::12}}&amp;quot;&amp;gt;Click here&amp;lt;/a&amp;gt;.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{link_title::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel einer internen Seite ersetzt: &amp;lt;nowiki&amp;gt;&amp;lt;a title=&amp;quot;{{link_title::12}}&amp;quot;&amp;gt;Click here&amp;lt;/a&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{article::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit einem Link zu einem Artikel ersetzt (ersetzen Sie * mit der ID oder dem Alias).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{article_open::*}}&amp;lt;/nowiki&amp;gt; || Wird mit dem öffnenden Tag eines Links zu einem Artikel ersetzt: &amp;lt;nowiki&amp;gt;{{article_open::12}}Click here{{link_close}}.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{article_url::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der URL eines Artikels ersetzt: &amp;lt;nowiki&amp;gt;&amp;lt;a href=&amp;quot;{{article_url::12}}&amp;quot;&amp;gt;Click here&amp;lt;/a&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{article_title::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel eines Artikels ersetzt: &amp;lt;nowiki&amp;gt;&amp;lt;a title=&amp;quot;{{article_title::12}}&amp;quot;&amp;gt;Click here&amp;lt;/a&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{news::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit einem Link zu einer Nachricht ersetzt (ersetzen Sie * mit der ID oder dem Alias).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{news_open::*}}&amp;lt;/nowiki&amp;gt; || Wird mit dem öffnenden Tag eines Links zu einer Nachricht ersetzt: &amp;lt;nowiki&amp;gt;{{news_open::12}}Click here{{link_close}}&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{news_url::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der URL einer Nachricht ersetzt: &amp;lt;nowiki&amp;gt;&amp;lt;a href=&amp;quot;{{news_url::12}}&amp;quot;&amp;gt;Click here&amp;lt;/a&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{news_title::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel einer Nachricht ersetzt: &amp;lt;nowiki&amp;gt;&amp;lt;a title=&amp;quot;{{news_title::12}}&amp;quot;&amp;gt;Click here&amp;lt;/a&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{event::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit einem Link zu einem Event ersetzt (ersetzen Sie * mit der ID oder dem Alias).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{event_open::*}}&amp;lt;/nowiki&amp;gt; || Wird mit dem öffnenden Tag eines Links zu einem Event ersetzt: &amp;lt;nowiki&amp;gt;{{event_open::12}}Click here{{link_close}}&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{event_url::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der URL eines Events ersetzt: &amp;lt;nowiki&amp;gt;&amp;lt;a href=&amp;quot;{{event_url::12}}&amp;quot;&amp;gt;Click here&amp;lt;/a&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{event_title::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel eines Events ersetzt: &amp;lt;nowiki&amp;gt;&amp;lt;a title=&amp;quot;{{event_title::12}}&amp;quot;&amp;gt;Click here&amp;lt;/a&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{faq::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit einem Link zu einer häufig gestellten Frage ersetzt (ersetzen Sie * mit der ID oder dem Alias).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{faq_open::*}}&amp;lt;/nowiki&amp;gt; || Wird mit dem öffnenden Tag eines Links zu einer Frage ersetzt: &amp;lt;nowiki&amp;gt;{{faq_open::12}}Click here{{link_close}}&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{faq_url::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der URL einer Frage ersetzt: &amp;lt;nowiki&amp;gt;&amp;lt;a href=&amp;quot;{{faq_url::12}}&amp;quot;&amp;gt;Click here&amp;lt;/a&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;{{faq_title::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel einer Frage ersetzt: &amp;lt;nowiki&amp;gt;&amp;lt;a title=&amp;quot;{{faq_title::12}}&amp;quot;&amp;gt;Click here&amp;lt;/a&amp;gt;.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Benutzereigenschaften ===&lt;br /&gt;
&lt;br /&gt;
Mit den folgenden Inserttags können Eigenschaften des angemeldeten Benutzers ausgebeben werden.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! '''Insert-Tag''' !! '''Beschreibung'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::firstname}}&amp;lt;/nowiki&amp;gt; ||Dieses Tag wird mit dem Vornamen des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::lastname}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Nachnamen des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::company}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Firmennamen des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::phone}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der Telefonnummer des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::mobile}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der Handynummer des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::fax}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der Faxnummer des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::email}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der E-Mail-Adresse des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::website}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der Internetadresse des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::street}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Staßennamen des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::postal}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der Postleitzahl des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::city}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der Stadt des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::country}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Land des angemeldeten Benutzers ersetzt.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{user::username}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Benutzernamen des angemeldeten Benutzers ersetzt.&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
Mit der Insert-Tag-Methode &amp;lt;nowiki&amp;gt;{{user::variable}}&amp;lt;/nowiki&amp;gt; können auch andere Eigenschaften von Usern abgefragt werden.&lt;br /&gt;
&lt;br /&gt;
=== Umgebungsvariablen ===&lt;br /&gt;
&lt;br /&gt;
Mit den folgenden Inserttags können Umgebungsvariablen wie z.B. der Seitenname oder der Request-String ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! '''Insert-Tag''' !! '''Beschreibung''' !! '''ab Version''' || '''bis Version'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::page_id}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der ID der aktuellen Seite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::page_alias}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Alias der aktuellen Seite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::page_name}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Namen der aktuellen Seite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::page_title}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel der aktuellen Seite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::page_language}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der Sprache der aktuellen Seite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::parent_alias}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Alias der übergeordneten Seite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::parent_name}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Namen der übergeordneten Seite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::parent_title}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel der übergeordneten Seite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::main_alias}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Alias der übergeordneten Hauptseite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::main_name}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Namen der übergeordneten Hauptseite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::main_title}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel der übergeordneten Hauptseite ersetzt. || || 2.10.x&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::website_title}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel der Webseite ersetzt. || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::host}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem aktuellen Hostnamen ersetzt.  || 2.9.0||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::http_host}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem aktuellen HTTP-Host ersetzt.  || unbekannt||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::url}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Hostnamen und dem Protokoll ersetzt. || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::path}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der aktuellen Basis-URL samt Pfad zum Contao-Verzeichnis ersetzt. || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::request}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem aktuellen Request-String ersetzt.  || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::referer}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der URL der zuletzt besuchten Seite ersetzt.  || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{env::ip}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der IP-Adresse des aktuellen Besuchers ersetzt. || ||&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Seitenbezogene Inserttags===&lt;br /&gt;
&lt;br /&gt;
Mit den folgenden Inserttags können Umgebungsvariablen wie z.B. der Seitenname.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! '''Insert-Tag''' !! '''Beschreibung''' !! '''ab Version''' || '''bis Version'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::id}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der ID der aktuellen Seite ersetzt. || 2.11.x || &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::alias}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Alias der aktuellen Seite ersetzt. || 2.11.x ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::title}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Namen der aktuellen Seite ersetzt. || 2.11.x || &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::pageTitle}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel der aktuellen Seite ersetzt. || 2.11.x ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::language}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der Sprache der aktuellen Seite ersetzt. || 2.11.x || &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::parentAlias}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Alias der übergeordneten Seite ersetzt. || 2.11.x ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::parentTitle}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Namen der übergeordneten Seite ersetzt. || 2.11.x ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::parentPageTitle}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel der übergeordneten Seite ersetzt. || 2.11.x||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::mainAlias}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Alias der übergeordneten Hauptseite ersetzt. || 2.11.x ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::mainTitle}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Namen der übergeordneten Hauptseite ersetzt. || 2.11.x ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::mainPageTitle}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel der übergeordneten Hauptseite ersetzt. || 2.11.x ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{page::rootTitle}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Titel der Webseite ersetzt. || 2.11.x ||&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Include-Elemente ===&lt;br /&gt;
&lt;br /&gt;
Mit den folgenden Inserttags können Ressourcen wie z.B. Artikel, Module oder Dateien aus dem /templates-Verzeichnis eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! '''Insert-Tag''' !! '''Beschreibung'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{insert_article::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem referenzierten Artikel ersetzt (ersetzen Sie * mit der ID oder dem Alias).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{insert_content::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem referenzierten Inhaltselement ersetzt (ersetzen Sie * mit der ID des Elements).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{insert_module::*}}&amp;lt;/nowiki&amp;gt;	|| Dieses Tag wird mit dem referenzierten Modul ersetzt (ersetzen Sie * mit der ID des Moduls).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{article_teaser::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Teaser eines Artikels ersetzt (ersetzen Sie * mit der ID des Artikels).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{news_teaser::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Teaser einer Nachricht ersetzt (ersetzen Sie * mit der ID der Nachricht).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{event_teaser::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Teaser eines Events ersetzt (ersetzen Sie * mit der ID des Events).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{file::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Inhalt einer .php- oder .tpl-Datei aus dem templates-Verzeichnis ersetzt (ersetzen Sie * mit dem Namen). Bei Bedarf können Sie Argumente übergeben: &amp;lt;nowiki&amp;gt;{{file::file.php?arg1=val&amp;amp;arg2=val}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{insert_form::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem referenzierten Formular ersetzt (ersetzen Sie * mit der ID oder dem Alias).&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systempfade ===&lt;br /&gt;
&lt;br /&gt;
Mit den folgenden Inserttags können Systempfade referenzenziert werden:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! '''Insert-Tag''' !! '''Beschreibung'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{files_url}}&amp;lt;/nowiki&amp;gt; || Liefert den Pfad zum Verzeichnis für /files&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{assets_url}}&amp;lt;/nowiki&amp;gt; || Liefert den Pfad zum Verzeichnis für /assets&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{plugins_url}}&amp;lt;/nowiki&amp;gt; || Liefert den Pfad zum Verzeichnis für /plugins&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{script_url}}&amp;lt;/nowiki&amp;gt; || Liefert den Pfad zum Verzeichnis für /scripts&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Verschiedenes ===&lt;br /&gt;
&lt;br /&gt;
Mit den folgenden Inserttags können Sie verschiedene Aufgaben erledigen und z.B. das aktuelle Datum oder ein Lightbox-Bild einfügen.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! '''Insert-Tag''' !! '''Beschreibung''' !! '''ab Version''' || '''bis Version'''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{date}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem aktuellen Datum gemäß des globalen Datumsformats ersetzt. || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{date::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem aktuellen Datum gemäß eines individuellen Datumsformats ersetzt. || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{last_update}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit dem Datum der letzten Aktualisierung gemäß des globalen Datumsformats ersetzt. || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{last_update::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit Datum der letzten Aktualisierung gemäß eines individuellen Datumsformats ersetzt. || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{email::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit einem verschlüsselten Link zu einer E-Mail-Adresse ersetzt. || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{email_open::*}}&amp;lt;/nowiki&amp;gt; || Erstellt einfach nur ein öffenden Link || 2.11 ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{news_feed::*}}&amp;lt;/nowiki&amp;gt; || Bindet den Newsfeed aus /share/ID über die ID ein || 3.1.3 ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{calendar_feed::*}}&amp;lt;/nowiki&amp;gt; || Bindet den Kalenderfeed aus /share/ID über die ID ein || 3.1.3 ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{lang::*}}&amp;lt;/nowiki&amp;gt; || Mit diesem Tag können fremdsprachige Wörter in einem Text markiert werden: &amp;lt;nowiki&amp;gt;{{lang::fr}}Au revoir{{lang}}&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Wird ersetzt mit &amp;lt;nowiki&amp;gt;&amp;lt;span lang=&amp;quot;fr&amp;quot; xml:lang=&amp;quot;fr&amp;quot;&amp;gt;Au revoir&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;. || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{iflng::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird komplett entfernt, wenn die Sprache der Seite nicht mit der Tag-Sprache übereinstimmt. Sie können so sprachspezifische Bezeichnungen erstellen:&amp;lt;br /&amp;gt; &lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{iflng::en}}Your name{{iflng}}{{iflng::de}}Ihr Name{{iflng}} &lt;br /&gt;
&amp;lt;/nowiki&amp;gt; || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{image::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit der Vorschauansicht eines Bildes ersetzt: &amp;lt;nowiki&amp;gt;{{image::tl_files/image.jpg?width=200&amp;amp;height=150}}&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Argumente sind:&amp;lt;br /&amp;gt;&lt;br /&gt;
*width - Breite des Vorschaubildes&lt;br /&gt;
*height - Höhe des Vorschaubildes&lt;br /&gt;
*alt - Alternativer Text&lt;br /&gt;
*class CSS-Klasse&lt;br /&gt;
*rel rel-Attribut (z.B. &amp;quot;lightbox&amp;quot;)&lt;br /&gt;
*mode Modus (&amp;quot;proportional&amp;quot;, &amp;quot;crop&amp;quot; oder &amp;quot;box&amp;quot;) || 2.8.2 ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{label::*}}&amp;lt;/nowiki&amp;gt; || Dieses Tag wird mit einer Übersetzung ersetzt: &amp;lt;nowiki&amp;gt;{{label::CNT:au}}&amp;lt;/nowiki&amp;gt; oder &amp;lt;nowiki&amp;gt;{{label::tl_article:title:0}}&amp;lt;/nowiki&amp;gt;.&amp;lt;br /&amp;gt;Beachten Sie, dass innerhalb des Pfads zur Bezeichnung nur einfache Doppelpunkte verwendet werden. || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{abbr::Abkürzungserklärung}}Abkürzung{{abbr}}&amp;lt;/nowiki&amp;gt; || - Mit diesem Tag können Abkürzungen in einem Text markiert werden: &amp;lt;nowiki&amp;gt;{{abbr::AGG}}Allgemeines Gleichstellungsgesetz{{abbr}}&amp;lt;/nowiki&amp;gt; wird ersetzt mit &amp;lt;nowiki&amp;gt;&amp;lt;span abbr=&amp;quot;AGG&amp;quot;&amp;gt;Allgemeines Gleichstellungsgesetz&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;. || 2.9.2 ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;{{acronym::Akronymerklärung}}Akronym{{acronym}}&amp;lt;/nowiki&amp;gt; || - Mit diesem Tag können Akronyme in einem Text markiert werden: &amp;lt;nowiki&amp;gt;{{acronym::PISA}}Programme for International Student Assessment{{acronym}}&amp;lt;/nowiki&amp;gt; wird ersetzt mit &amp;lt;nowiki&amp;gt;&amp;lt;span acronym=&amp;quot;PISA&amp;quot;&amp;gt;Programme for International Student Assessment&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;. || 2.9.2 || &lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Weitere Inserttags ===&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{env::ua}}&amp;lt;/nowiki&amp;gt; - liefert den Useragent zurück&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{env::plugins_url}}&amp;lt;/nowiki&amp;gt; - liefert TL_PLUGINS_URL;&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{env::script_url}}&amp;lt;/nowiki&amp;gt; - liefert TL_SCRIPT_URL;&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{env::files_url}}&amp;lt;/nowiki&amp;gt; - liefert TL_FILES_URL;&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{env::ip}}&amp;lt;/nowiki&amp;gt; - liefert IP&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{env::http_host}}&amp;lt;/nowiki&amp;gt; - liefert den HTTP-Host&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{ifnlng::XX}}&amp;lt;/nowiki&amp;gt; - if '''not''' language&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{request_token}}&amp;lt;/nowiki&amp;gt; - Request Token&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{version}}&amp;lt;/nowiki&amp;gt; - Version&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{last_update}}&amp;lt;/nowiki&amp;gt; - letztes Update&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{post}} - $arrCache[$strTag] = \Input::post($elements[1]);&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{toggle_view}}&amp;lt;/nowiki&amp;gt; - Wechselt das Seitenlayout von Desktop zu Mobil und vice versa&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;{{br}}&amp;lt;/nowiki&amp;gt; - fügt einen Zeilenumbruch ein (ab Version 3.2. RC1, nützlich in Elementen, die kein HTML erlauben)&lt;br /&gt;
&lt;br /&gt;
== Inserttags in Templates verwenden ==&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Dieser Abschnitt richtet sich eher an Entwickler.}}&lt;br /&gt;
&lt;br /&gt;
Falls man einmal ein Insert-Tags innerhalb eines Templates verwenden möchte. Ist folgender Contao-Methode sehr wichtig.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;replaceInsertTags('{{link::1}}'); //Hier würde ein Link zum Artikel 1 erzeugt ?&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eigene Insert-Tags erstellen ==&lt;br /&gt;
Darüber hinaus gibt es Möglichkeiten, um eigene Insert-Tags zu erstellen Siehe auch: [[Eigene_insert_tags_erstellen]].&lt;br /&gt;
&lt;br /&gt;
== Insert-Tags von Extensions ==&lt;br /&gt;
&lt;br /&gt;
=== dlstats ===&lt;br /&gt;
Die Insert-Tags der Extension &amp;quot;dlstats&amp;quot; sind unter [[Dlstats#Insert-Tag_Nutzung]] aufgelistet.&lt;br /&gt;
&lt;br /&gt;
=== LastLogin ===&lt;br /&gt;
Die Insert-Tags der Extension &amp;quot;LastLogin&amp;quot; sind ab [[LastLogin#Letzter_Login]] aufgelistet.&lt;br /&gt;
&lt;br /&gt;
=== Visitors ===&lt;br /&gt;
Die Insert-Tags der Extension &amp;quot;Visitors&amp;quot; sind unter [[Visitors#Insert-Tags]] aufgelistet.&lt;br /&gt;
&lt;br /&gt;
=== Tags ===&lt;br /&gt;
&lt;br /&gt;
Die Insert-Tags der Extension &amp;quot;Tags&amp;quot; sind unter [[Tags#Insert_Tags]] aufgelistet.&lt;br /&gt;
&lt;br /&gt;
=== MetaModels ===&lt;br /&gt;
&lt;br /&gt;
Die Insert-Tags der Extensions &amp;quot;MetaModels&amp;quot; sind unter [[MetaModels_Insert-Tags]] aufgelistet.&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Templates_bearbeiten</id>
		<title>Templates bearbeiten</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Templates_bearbeiten"/>
				<updated>2014-01-13T22:00:48Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: Erweiterte Erklärung zu Contao V. 3.2.3 inkl. Bilder eingefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AppliesTo|TLVersion=Alle Versionen|Version=ab 2.9}}&lt;br /&gt;
[[Category: Admin_HOWTOS]]&lt;br /&gt;
Es gibt 2 Möglichkeiten, um in Contao Templates zu bearbeiten.&lt;br /&gt;
=Direkt in Contao über das Backend=&lt;br /&gt;
Die Template-Sektion ist im Backend unter Layout --&amp;gt; Templates zu finden. Um ein Template zu bearbeiten, klickt man im Main-Bereich auf ''Neues Template''. Im darauffolgend angezeigten Dropdown Feld findet man eine Liste aller z.Z. existierenden Templates (sowohl die des Cores als auch die der Erweiterungen, die man einsetzt). &lt;br /&gt;
&lt;br /&gt;
Das folgende Bild erklärt die Contao/TL Version 2.8.0&lt;br /&gt;
&lt;br /&gt;
[[Datei:be_template_1.jpg|Templateauswahl]]&lt;br /&gt;
&lt;br /&gt;
Das folgende Bild erklärt die Contao Version 3.2.3&lt;br /&gt;
&lt;br /&gt;
[[Datei:be_template_1_contao_3_x.jpg|Templateauswahl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man sucht sich das Template, das man bearbeiten will, aus dem Dropdown Feld aus und klickt anschliessend auf den Button ''Template erstellen'' (in diesem Fall das Template ''nav_default.tpl'', das für das Menü zuständig ist - weitere mögliche Dateinamenserweiterungen für Systeme ab Contao 2.10.x sind *.xhtml und *.html5).&lt;br /&gt;
&lt;br /&gt;
{{msgWarning|Die Dateinamenerweiterung *.tpl entfällt mit der Version 2.10.x! Es sind nur die Dateierweiterungen *.xhtml und *.html5 enthalten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ab Contao 3: Unter ''Zielverzeichnis'' werden der Ordner ''templates'' und ein Unterodner mit Deinen Themes angzeigt. Hier unbedingt Dein Theme wählen! Templates im Ordner ''Templates'' werden nicht eingebunden.'''&lt;br /&gt;
&lt;br /&gt;
Das folgende Bild erklärt die Contao/TL Version 2.8.0&lt;br /&gt;
&lt;br /&gt;
[[Datei:be_template_2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Das folgende Bild erklärt die Contao Version 3.2.3&lt;br /&gt;
&lt;br /&gt;
[[Datei:be_template_2_contao_3_x.jpg|Templateauswahl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In der Übersicht sieht man nur das gewählte Template. Rechts davon sind 3 Icons zu finden.&lt;br /&gt;
* '''Template umbennenen:''' Man kann (muss aber nicht!) das gewählte Template umbenennen.&lt;br /&gt;
* '''Template bearbeiten:''' Über diesen Button kann man den Quellcode des Templates bearbeiten&lt;br /&gt;
* '''Template löschen:''' Löscht das entsprechende Template&lt;br /&gt;
&lt;br /&gt;
=Mit einem Editor über FTP=&lt;br /&gt;
Wer lieber mit einem Editor arbeitet, kann Templates auch manuell bearbeiten. Dazu eignet sich am besten ein Editor, welcher direkt auf dem FTP-Server arbeitet, die Template-Dateien von dort öffnet und auch wieder speichert. Z.B. [http://www.pspad.com/ PsPad], [http://notepad-plus-plus.org/ Notepad++] u.a.&lt;br /&gt;
{{Achtung| Niemals [[Contao-Core-Dateien|Core-Dateien]] verändern. Templates, welche man bearbeitet liegen immer im Ordner TL_ROOT/templates/}}&lt;br /&gt;
&lt;br /&gt;
=Mehrere Templates verwenden=&lt;br /&gt;
Contao macht nun folgendes: Wenn bei der Modul-Erstellung das Orginal-Template (nav_default.tpl) ausgewählt wurde, schaut das System zuerst nach, ob in /template/ '''(Contao 3: /templates/DeinThemeName)''' ein modifiziertes nav_default.tpl liegt. Wenn ja, wird dieses verwendet. Wenn nein, wird das Orginal-Template von /system/modules/frontend/templates/ genommen.&lt;br /&gt;
&lt;br /&gt;
Es ist auch möglich, mehrere modifizierte Templates zu erstellen, wenn z.B. mehrere Menü-Module angelegt werden, die unterschiedliche Templates benötigen. Hier ist es wichtig, beim Umbennenen das '''nav_''' zu erhalten. Die Templatenamen könnten z.B. so lauten: nav_custom1.tpl, nav_modify.tpl usw. Wenn man nun das Menü-Modul erstellt, werden bei der Templateauswahl alle Templates aufgelistet, die ein nav_ davor haben.&lt;br /&gt;
&lt;br /&gt;
{{Achtung| Nochmals zur Erinnerung: Alle modifizierten Templates, egal ob im Orginalnamen oder umbenannt, müssen im Ordner /templates/ '''(Contao 3: /templates/DeinThemeName)''' abgespeichert werden. NIE das Orginaltemplate überschreiben!. Das hat den Vorteil, dass bei Updates die Templates in /templates/ nicht überschrieben werden, die Orginaltemplates (z.B. system/modules/frontend/templates/nav_default.tpl) jedoch schon.}}&lt;br /&gt;
&lt;br /&gt;
=Links zum Thema=&lt;br /&gt;
[[Eigene_Templates_trotz_fehlender_Auswahlmöglichkeit|Eigene Templates trotz fehlender Auswahlmöglichkeit]]&lt;br /&gt;
&lt;br /&gt;
[[Template_Variablen_anzeigen|Template Variablen anzeigen]]&lt;br /&gt;
&lt;br /&gt;
[[Templates|Templates]]&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Datei:Be_template_2_contao_3_x.jpg</id>
		<title>Datei:Be template 2 contao 3 x.jpg</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Datei:Be_template_2_contao_3_x.jpg"/>
				<updated>2014-01-13T21:42:52Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Datei:Be_template_1_contao_3_x.jpg</id>
		<title>Datei:Be template 1 contao 3 x.jpg</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Datei:Be_template_1_contao_3_x.jpg"/>
				<updated>2014-01-13T21:41:49Z</updated>
		
		<summary type="html">&lt;p&gt;Tschero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tschero</name></author>	</entry>

	</feed>