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

Quelltext mit Template-Variablen

		

Blog-Einträge

  • MODx: Dokumente erweitern
  • [*introtext]
  • @MODx@Template Variable

In diesem einfachen Beispiel werden Titel, Zusammenfassung und Tags für einen Blog-Eintrag dargestellt, wobei MODx: Dokumente erweitern und 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. dokument-spezifische Template-Variablen sind und nur @MODx@Template Variable 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

Die Kommentarfunktion ist nicht mehr aktiv

10 Kommentare

Lottoblog zur Website

02.09.2013 08:19:27

Hallo, danke für den guten & einfach verständlichen Artikel über die Möglichkeiten von MODx. Bin gerade dabei das für mein Projekt auch auszutesten;) Gruß

Domian zur Website

25.01.2013 16:07:55

Hallo,
vielen Dank für den Artikel bzw. die Beschreibung. Ich werde testen, ob das bei meinem Theme funktioniert. Gruß

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