eZ Publish 5 Templating – Teil 3: Ein eigenes Layout

Nachdem Teil eins und zwei dieses Tutorials die Grundlagen gelegt haben, soll es in diesem Teil darum gehen, die speziellen Eigenheiten von eZ Publish, namentlich die ehemals in der ezflow-Extension, neuerdings im Page-FieldType untergebrachten Mittel zur Organisation und Strukturierung einer Seite zu nutzen.

ezflow-to-Page (stage_4)

Die Organisation des Contents auf einer Seite ist im Legacy-Stack von eZ Publish in der Regel über die Extension „ezflow“ realisiert. In der Symfony2-Welt wurden deren Strukturen in den „Page“ FieldType übernommen. Im Wesentlichen handelt es sich dabei um die Gruppierung von ContentObjekten einer Seite in „Zones“, die die Grobgliederung der Seite erlaubt. „Zones“ enthalten ihrerseits „Blocks“, in denen wiederum einzelne ContentObjekte untergebracht werden. In einem „Block“ werden also zum Beispiel Listen aktueller Beiträge oder Ähnliches realisiert. Weiterlesen

eZ Publish 5 Templating, Teil 2: Ein eigener Controller

Eine Übersichtsseite (stage_3)

Nachdem Teil 1 dieses Tutorials grundsätzliche Temen des Templatings für eZPublish 5 behandelt hat,  wollen wir im folgenden Schritt einen eigenen Controller nutzen, um auf einer Seite vom Typ „landing_page“ eine Liste der im ContentTree darunter befindlichen Objekte, die vom Typ „article“ sind, abzubilden.

Dazu erzeugen wir zuerst ein Template für diese Content-Klasse, das wiederum das allgemeine Pagelayout erweitert. Das Template selbst besteht aus einer einzelnen Zeile, die über den Symfony-eigenen Helper „render“ eine Methode in einer Controllerklasse aufruft, die wir gleich im nächsten Schritt definieren werden. Weiterlesen

eZ Publish 5 Templating – Teil 1: Basics

Das eZ Publish Content Management System hat sich mit dem Umbau auf Basis des Symfony2 Frameworks stark verändert. Eine der wesentlichsten Änderungen liegt im Templating für das Frontend. Bauten die pre-Symfony-Versionen bis 4 auf einen Mix aus Smarty mit PHP-Code, lassen sich eZ Publish 5 Templates in der Symfony2-eigenen Templatesprache Twig entwickeln. Weiterlesen