ModX Tutorial

Changing the net, one site at a time…

Komponenten
ModX wird von zwei wichtigen Komponenten bestimmt, die man kennen sollte:
 
  • Chunks sind wieder-verwendbare html-Versatzstücke. man kann Chunks im Editor-Bereich oder in einer Template-Variablen unterbringen. Man kann zum Beispiel die Kontaktdaten seiner Seite in einen Chunk schreiben und diesen dann an verschiedenen Stellen innerhalb der Website publizieren, ohne diesen erneut schreiben zu müssen. Sinnvoll sind Chunks auch bei der Erstellung von Templates. bestimmte bereiche des Templates sollte in Chunks ausgelagert werden, so dass das Template selbst übersichtlich bleibt. Ein gutes Beispiel sind die header-Scripte, die zusammengefasst in einem chunk dann nur über einen CAll im head-bereich aufgerufen werden: Die Syntax für Chunks ist einfach: Sie werden in doppelt en geschweiften Klammern annotiert: .

  • Snippets  sind letztlich includes von PHP-Fragmenten, die über einen Call aufgerufen, kleine funktionale Einheiten, die Menüs oder Such-Funktionen steuern. Die meisten Erweiterungen von MODx sind Snippets, mit deren Hilfe neue Funktionen in MODx integriert werden. Zum Beipiel Galerien, Formularverarbeitungen, Menüs, Auflistungen etc. werden mit Hilfe von Snippets generiert. Das eigentliche Snippet kann natürlich auch auf andere Datenquellen mittels PHP-include zurückgreifen. Somit es möglich naheu jedes PHP-Script in MODx zu integrieren. Dabei ist natürlich immer darauf zu achten, dass Variablen nicht doppelt belegt sind usw. Das meist benutzte Snippet ist Wayfinder, das die Menülisten generiert.Snippets können im Template selbst oder in einem Chunk bzw. in einer Template Variablen eingebettet werden. Snippets werden in doppelten eckigen Klammern annotiert: [[Snippet||. Doppelte eckige Klammern zeigen an, dass der Call gecacht wird, soll der Snippet Call nicht gechacht werden - zum Beispiel bei Login-Calls ist folgende Annotierung anzuwenden [!Snippet!].
     bzw. ungecached 

Ein Chunk oder Snippet können also vom Admin oder Webseiten-Entwickler über den entsprechenden Call direkt in das Template eingebettet werden oder sie können auch vom User im Inhalts-Editier-Bereich oder einer Template Variablen untergebracht werden.