English Version medianotions.de RSS-Feed abonnieren

16.03.2008

MODx-Feature:
Dokumente erweitern mit Template-Variablen

Themen: MODx, Template Variable | zuletzt bearbeitet: 31.07.2009


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:

Beispiel: MODx-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:

Beispiel: MODx-Dokument mit 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:

Template-Variablen: Eingabetypen

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.


Bookmark setzen oder Seite empfehlen

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… :)