Layouttemplates für Spezialaufgaben (zb xml-export)

07.10.2011 | eZ Publish

Es ist möglich die Layout-Funktion für Templates mit Spezialaufgaben zu verwenden. Dabei müssen den Templates keine Nodes zugeordnet werden (können aber).Dazu sieht man sich die layout.ini mal genauer an:

[fullscreen]
PageLayout=fullscreen_pagelayout.tpl

[popup]
PageLayout=popup_pagelayout.tpl

[print]
PageLayout=print_pagelayout.tpl
#Set UseAccessPass to false in order to exclude '/layout/set/[layout]' from the paths
# UseAccessPass=false

Das bereits definierte fullscreen-Layout kann man z.B. schon mal verwenden, da es selten für den vorgesehenen Zweck gebraucht wird. Solle man weitere brauchen kann man die einfach erstellen, z.B:


[xmlexport]
PageLayout=xmlexport_pagelayout.tpl

Um das entsprechende *_pagelayout.tpl zu überschreiben, definiert man jeweils einen override:

[full_screen_pagelayout_for_xml_export]
Source=fullscreen_pagelayout.tpl
MatchFile=fullscreen_pagelayout_xmlexport.tpl
Subdir=templates

[xml_export]
Source=xmlexport_pagelayout.tpl
MatchFile=xmlexport_full.tpl
Subdir=templates
Match[layout]=xmlexport

Achtung! Sollte es zufällig eine xmlexport_pagelayout.tpl in einem Siteaccess-Design geben, würde die xmlexport_full.tpl ohne die Match-Condition im 2. ini-Block als override in allen Layouts verwendet werden. Im obigen Block wird auf die Match-Condition verzichtet, es wird also in jedem Layout eine etwaige fullscreen_pagelayout.tpl mit dem fullscreen_pagelayout_xmlexport.tpl überschrieben!

Der Aufruf erfolgt dann mit:

http://localhost:10091/index.php/mas/layout/set/fullscreen/content/view/2

wobei die Node-ID im vorliegenden Fall beliebig sein kann, weil sie vom Template nicht verwendet wird (es werden immer die für den Feed relevanten Nodes geholt).