16.03.2008
MODx-Feature:
Dokumente erweitern mit Template-Variablen
zur Übersicht 8 Kommentare von Bogdan
Eines der für mich interessantesten Features an MODx ist die Möglichkeit MODx-Dokumente mit so genannten Template-Variablen zu erweitern. Auf diese Weise kann man in einem Dokument nicht nur wie gewohnt Inhalt, Titel und eine Hand voll Meta-Angaben sichern, sondern beliebig viele weitere Informationen in unterschiedlichen Formaten. Die Anwendungsmöglichkeiten sind sehr vielfältig:
- Preise für Produkte
- Bilder oder Dateien, die mit dem Dokument verknüpft werden sollen
- Stichworte für Blog-Einträge
- weitere Dokument-Textinhalte neben dem Haupttext
- …
Template-Variablen bearbeiten
Werfen wir mal einen Blick auf ein Dokument mit Template-Variablen:
Die Template-Variablen werden den Standard-Dokumentinhalten hinzugefügt und können beim Editieren des entsprechenden Dokuments ebenfalls bearbeitet werden.
Template-Variablen erstellen
Relativ einfach ist auch das anlegen von Template-Variablen:
Template-spezifische Zuweisung
Template-Variablen heißen übrigens deswegen Template Variablen, weil diese jedem angelegten Template einzeln zugewiesen werden können. Somit kann man zum Beispiel einem Template Artikel die Template-Variablen Preis und Bild Kopfbereich und einem Template Blog-Eintrag die Template-Variablen Tags und ebenfalls Bild Kopfbereich zuweisen. Auf diese Weise lassen sich die Template-Variablen passend zum Inhalt eines Templates gruppieren.
Einsetzen von Template-Variablen
Das Einsetzen einer Template-Variable im HTML-Quelltext oder im Dokumentinhalt erfolgt über einen MODx-Tag: [*tv-name*]:
Quelltext mit Template-Variablen
<h2>Blog-Einträge</h2> <ul> <li>[*pagetitle*]</li> <li>[*introtext]</li> <li>[*tags*]</li> </ul>
In diesem einfachen Beispiel werden Titel, Zusammenfassung und Tags für einen Blog-Eintrag dargestellt, wobei [*pagetitle*] und [*introtext*] dokument-spezifische Template-Variablen sind und nur [*tags*] hinzugefügt wurde.
Eingabetypen
Template-Variablen verfügen über eine ganze Liste von Eingabetypen, die sich je nach der Art der zu sichernden Daten frei wählen lassen:
Damit kann man die Darstellung und Eingabe der Daten im Manager bequem wählen und auch noch im Nachhinein ändern.
@-Verknüpfungen von Template-Variablen
Template-Variablen lassen sich mit @-Verknüpfungen versehen. Hat eine Template-Variable z.B. den Wert @DOCUMENT 10 gibt diese den Inhalt des Dokuments mit der ID 10 aus. Eine weitere interessante Möglichkeit ergibt sich mit der Verknüpfung @SELECT, die einen SQL-Zugriff auf die MODx-SQL-Datenbank erlaubt. So kann man mit @SELECT pagetitle FROM modx_site_content WHERE parent = 40 alle Titel der im Dokument mit der ID 40 enthaltenen Unterdokumente in einer Template-Variablen ausgeben lassen. Es stehen folgende @-Verknüpfungen zur Verfügung:
- @FILE
- @DIRECTORY
- @DOCUMENT
- @CHUNK
- @INHERIT
- @SELECT
- @EVAL
Endlose Möglichkeiten
Mit Template-Variablen lassen sich MODx-Dokumente so flexibel erweitern, dass sich damit nicht nur ein klassischer Website-Inhalt sondern auch eigene frei definierbare Datensätze abbilden lassen wie Produkte, Artikel, Adressen, usw. Dies bietet MODx-Benutzern die Möglichkeit Informationen auf einfache Weise zu sichern und wieder dynamisch auszugeben.






Kommentar schreiben
8 Kommentare
Bogdan zur Website
15.04.2010 12:14:42
Hallo Kader,
ganz auf die Schnelle: in dem du der TV bei den Eingabeoptionswerten die Länder im Format "Deutschland||Österreich||Schweiz" einträgst und als Eingabetyp "Listbox" wählst.
Aber so eine Frage ist im deutschen MODx-Forum eigentlich besser aufgehoben:
http://www.modxcms.de/forum/
Schöne Grüße
Bogdan
Kader
15.04.2010 12:10:25
Moin moin,
ich möchte Ländernamen als Checkbox im Template anlegen und im Ressourcendokument vom Redakteur auswählen lassen. Wie mache ich das?
Viele Grüße
kader
Denis zur Website
18.03.2010 08:24:48
Sehr gut erklärt, vielen Dank. ;-)
Bogdan zur Website
11.03.2010 23:15:53
Hallo Kader,
tut mir leid, dass du es nicht verstanden hast, aber schließe bitte nicht von dir auf alle Anderen. Das Konzept der Template-Variablen ist für unerfahrene Benutzer vielleicht etwas verwirrend, aber sollte für erfahrene Anwender eigentlich gut nachvollziehbar sein.
Schöne Grüße
Bogdan
Kader
11.03.2010 18:31:09
Versteht leider kein Mensch. Ein paar Beispiele wie’s denn aussieht, und es würde sich erschließen.
Bogdan zur Website
25.02.2009 17:20:40
Hallo Freddy,
freut mich, dass ich dir ein kleines Stück weiter helfen konnte. Und danke für das Kompliment bezüglich des Designs :-)
Mit weiteren Beispielen zu den Bindings kann ich dir erstmal leider nicht dienen, da ich diese selbst selten verwende. Ich mache vielen direkt in PHP mit der MODx-API.
Schöne Grüße
Bogdan Günther
Freddy zur Website
24.02.2009 15:21:33
Hallo,
hey danke jetzt habe ich endlich die @Bindings verstanden.
Einpaar ausfürliche Beispiele zu den anderen wären noch besser ;)
MfG
Übrigens nettes Design gefällt mir vom Aufbau
David
19.12.2008 12:54:37
Tolle Artikel über die Möglichkeiten von MODx. Hänge an diesem Blog via RSS… :)