Themes mit Areas versehen
Seit der Version 0.7 bietet Habari zur Steuerung von Themes Blöcke und Areas. Das Konzept ähnelt dem von WordPress und dessen Widgets und Widget-Areas. Dabei kann vornehmlich der Output von Plugins, die diesen in Blöcke fassen vorbestimmten Stellen im Theme zugeordnet werden.
In diesem Artikel geht es erstmal nur um die Areas und deren Nutzung in Themes für diejenigen, die Themes selbst erstellen. Dies ist ansich relativ simple und lässt sich sehr einfach bewerkstelligen.
Insgesamt kann der Autor im Theme eine beliebige Anzahl Areas ausweisen, denen dann vom Administrator über das Theme-Interface durch Plugins oder das Theme zur Verfügung gestellte Blöcke frei zugewiesen werden können.
Dabei kann in einer Area eine beliebige Anzahl von Blöcken ausgegeben werden, deren Anordnung sich dann ebenfalls über das Interface bestimmen lässt.
Areas im XML-File deklarieren
Das File theme.xml, welches von jedem Theme benötigt wird und die Meta-Daten trägt, wird um einen schlanken Auszeichnungsblock erweitert. Dieser enthält den Namen der Area und einen Beschreibungstext.
Wird eine Area nicht XML-File ausgezeichnet, wird diese auch nicht im Admin-Interface zur Verfügung gestellt.
Ein Code-Beispiel für die Auszeichnung der Areas "sidebar" und "nav", wie sie im mitgelieferten Theme "Charcoal" vorhanden sind:
Area im Template deklarieren
Die Ausgabe für eine Area im template wird ähnlich schlank deklariert, wie die Auszeichnung im XML-File. Benötigt wird dafür lediglich folgender Befehl (in diesem Fall wird die Area "sidebar" ausgegeben):
Ausblick
Zukünftig soll das System noch wesentlich umfangreichere Möglichkeiten erlauben. Dafür werden "Scopes" bzw. "Kontexte" eingeführt. Diese erlauben dem Autoren des Themes Regeln bzgl. der Anzeige von Blöcken in Areas aufzustellen. Auf die der Admin dann über das Interface zurückgreifen kann.
So könnte der Admin festlegen, dass z.B. der Block mit einem Textinhalt nur in Artikeln erscheint, die den Tag "featured" tragen. Oder nur auf der Startseite.
Das Block-Area-System würde damit weit flexibler werden, als es derzeit die oben bereits erwähnte Widget-Systematik von WordPress ist. Eine spannende Entwicklung für Habari, dessen Framework-Charakter damit weiter gestärkt wird.

Schreibe den ersten Kommentar!
Einen Kommentar abgeben