Zeitgeist ZMS V3.0
 

Featurestyle Frontent neu objektorientiert
11.04.2010

Bis anhin konnte man in den Featurestyles wursteln wie man wollte. Eigentlich war das auch ganz gut, da man keine Einschränkungen hatte. Allerdings ist die Wiederverwendbarkeit solcher Featurestyles sehr schlecht, da es eben gewurstelt ist. Nun muss man für jeden Featurestyle eine Klasse erstellen und bestimmte Methoden implementieren.
Bereits bei O'Reilly verfügbar!
Bereits bei O'Reilly verfügbar!

Alles in OOP zu machen ist ja der Hype schlechthin. Hier macht es nicht nur eine gute Figur sondern auch noch Sinn - nun aber zu den Details und einem Beispiel.

Die ZMS Basis wurde für das neue Featurestyle-Frontend um ein Interface und eine Basisklasse erweitert. Hier die Interface Definition:

Daraus wird ersichtlich, dass neben dem Konstruktor, welcher die Featuredaten und alle Objekte (per Referenz) übernimmt, zwei Methoden: Init() und Display() implementiert werden müssen. Der Konstruktor und die zwei genannten Methoden werden in der Basisklasse FEATURESTYLEFRONTEND, welche natürlich das Interface implementiert, rudimentär implementiert. Hier die wichtigsten Ausschnitte aus der Basisklasse:

Die Erstellung eines Featurestyle der auf der Basisklasse aufbaut ist in viele Fällen sehr einfach. Man erstellt dazu eine Kalsse mit dem Namen des Featurestyles, die von der Basisklasse abgeleitet ist. Innerhalb der Kalsse überschreibt man (sofern nötig) die Mehoden Init() und Display() mit dem für den Featurestyle notwendigen Inhalt. Dabei hat man alle Featuredaten (Array feature, featurestyle, featurewords und featuremedias) zur verfügung und alle wichtigen Objekte (FEATUREOBJ, FEATURESTYLEOBJ, DBOBJ, LANGUAGEOBJ, PAGEOBJ, ARRANGEMENTOBJ und USEROBJ).

Hier ein Beispiel für einen einfachen Featurestyle für Newseinträge, die entweder per PageFeatureAssign oder per URL-Parameter (news_fid) gefüttert werden kann:

Ich hoffe es kommen alle klar damit! Die ZMS-Demopage ist bereits auf das neue System umgebaut - abkupfern erlaubt!