Override.ini – Möge die Macht mit dir sein!
Wie schon Meister Yoda meinte – Möge die Macht mir dir sein! Ich bin mir sicher, er meinte damit die eZ Macht 🙂
Durch Zufall ist mir in den letzten Tagen eine sehr mächtige Erkenntnis zum Thema Override untergekommen.
Diese möchte ich euch heute näher bringen.
Grundlage:
Für was braucht man die override.ini eigentlich?
Jeder der mit eZ Publish anfängt, wird schnell über diese Datei stolpern, vorausgesetzt er hält sich an das Code Konzept. Die override.ini bietet dem Entwickler die Möglichkeit, Einstellungen zu tätigen, die für den Template-Aufruf zum Beispiel pro Klasse enorm wichtig sind. Nehmen wir z.B. mal das full.tpl her. Dieses Template ist für die Detailansicht einer Klasse zuständig. Jede Seite hat eines. Nun ist es aber so, dass man pro Klasse ein eigenes full.tpl braucht. Das stellt man am besten in der override.ini ein.
Unser Beispiel – ein Artikel:
# Example syntax
[article]
Source=node/view/full.tpl
MatchFile=article.tpl
Subdir=templates
Match[class_identifier]=article
Beschreibung:
[article] | Eindeutige Bezeichnung kann man auch XY bennen 😉 |
Source | Ursprungstemplate (in diesem Fall das full.tpl) |
MatchFile | Mit welchen Template das full.tpl überschrieben wird /override/full/article.tpl muss man in seiner Erweiterung anlegen |
Subdir | Verzeichnis – sollte man gleich lassen |
Match[class_identier] | Auf welche Klasse diese Regel zutrifft |
Match – Möge die Macht mit dir sein
Unter dem Punkt match liegt die Macht begraben. Wenn man sich die Dokumentation von eZ Publish mal genau anschaut, findet man die folgenden Einstellungen. Alle diese sind genial und man braucht sie sehr oft.
object | Matches the ID number of the object. |
node | Matches the ID number of the node. |
parent_node | Matches the ID number of the parent node. |
class | Matches the ID number of the class which the object is an instance of. |
class_identifier | Matches the identifier of the class which the object is an instance of. |
view_offset | Matches the offset view parameter. |
depth | Matches the depth of the node. The depth of a top level node is 1. |
section | Matches the number of the section which the object belongs to. |
navigation_part_identifier | Matches the identifier of the navigation part. |
viewmode | Matches the name of the view mode (full, line, etc.) |
url_alias | Matches the virtual URL of the node. |
class_group | Matches the ID number of the group that the class which the object is an instance of belongs to. |
Doch halt! Es gibt auch Einstellungen die nicht dokumentiert sind.
- section_identifier
- state_identifier
- state
Besonders die letzten beiden hätte ich schon oft benötigt, denn die Zustände sind ein wichtiges Instrument für die Personalisierung in eZ Publish. Wäre ich da mal früher drauf gekommen.
Fazit:
Mit der override.ini lassen sich Templates auf NodeID, ObjectID, Klassen, URLs und Zustände aufrufen, einfach genial. 🙂 🙂 Der Vorteil für den Entwickler: er braucht keine Includes und kann alle Templates pro Siteaccess nochmals überschreiben.
Links:
https://blog.silversolutions.de/2012/03/b2b-technologie/override-ini-moge-die-macht-mit-dir-sein/https://blog.silversolutions.de/wp-content/uploads/2018/12/ez_dummy.pnghttps://blog.silversolutions.de/wp-content/uploads/2018/12/ez_dummy-150x150.pngB2B.technologieHow-to,PraxisWie schon Meister Yoda meinte - Möge die Macht mir dir sein! Ich bin mir sicher, er meinte damit die eZ Macht 🙂 Durch Zufall ist mir in den letzten Tagen eine sehr mächtige Erkenntnis zum Thema Override untergekommen. Diese möchte ich euch heute näher bringen. Grundlage: Für was braucht man die override.ini eigentlich? Jeder...David HohlDavid Hohldho@silversolutions.deEditorDavid Hohl ist seit 1995 Entwickler und Projektleiter und bringt langjährige Erfahrung mit eZ Publish mit. Bei silver.solutions war David 2012 bis 2014 als Entwickler, Konzeptionen und Projektleiter für eZ Publish Projekte verantwortlich. Er hat das eZ-Publish-Blog ins Leben gerufen.silver.solutions