Ersatz für Itemz?

Topics kann man durch News with Images (NWI) ersetzen, es gibt dafür sogar einen Importer. Aber Itemz? Hier ist leider kein Ersatz in Sicht.

Diesen Artikel habe ich schon vor geraumer Zeit geschrieben und eingestellt - um ihn am 1. April zu veröffentlichen. Manch einer (zb ich selbst) wird das jetzt nicht mehr so lustig gefunden haben, ich habs trotzdem gemacht. "Lustig" ist momentan ohnehin sehr relativ.

Immerhin hat er bewirkt, dass plötzlich mehr Augen genauer auf und vor allem IN Itemz hinein schauen. Das ist sehr zu begrüßen. 


 

<- Das ist die view.php von Itemz: satte 500 Zeilen Spaghetti.

Und so könnte die view.php von Itemz aussehen ->
4 Zeilen (Kommentare weggerechnet)


Itemz ist kaum jünger als Topics, rechnet man den Vorgänger „Members“ dazu, sogar noch älter. Der Code stammt im wesentlichen aus PHP3 - Zeiten, nur marginal nachgebessert bis heute (PHP 7.4). Natürlich gab es auch schon bei PHP3 Functions, aber selbst diese wurden bei Itemz nur wenig verwendet. Von Objektorientierter Programmierung (OOP) ist bis heute keine Rede.

Klar, dass 500 Zeilen Code für einen OOP-Profi nicht gerade vertrauenerweckend sind, wenn er nur wenige Zeilen gewohnt ist: Class einhängen, aufrufen, Ergebnis ausgeben, fertig.
Ganz zu schweigen von der Ausführungsgeschwindigkeit am Server und damit verbundene Latenzzeiten: 4 Zeilen Code brauchen eben nur 1/100stel von 400 Zeilen.

Was also tun?

Itemz wurde bisher recht leichtfertig verwendet, weil man damit vieles erreichen kann, was sonst ein eigenes Modul nötig machte. Gerade diese Vielseitigkeit ist aber auch die Achillesferse: If, else, elseif, if.. Klammern { { { { und wieder } } zurück } }
Übler Spaghetticode - die wahren Profis verwenden Itemz daher nur sehr ungern, weil sie ja zunächst einen Blick in den Code werfen.

Itemz ersetzen

Für vieles, wofür Itemz bisher verwendet wurde, kann man problemlos auch das Code-Modul verwenden, mit etwas Geschick auch WYSIWYG. Zusätzlich kann man den Umstand nutzen, dass sich mit WBCE beliebig viele Inhaltsblöcke im Template anlegen lassen.

Wenn es gar nicht anders geht, kann man zunächst Itemz auf einer versteckten Seite verwenden, aber dann die HTML-Ausgabe in einen Code-Abschnitt kopieren.

Und nicht zuletzt kann man auch den SectionPicker verwenden, um einen versteckten Itemz-Abschnitt auf die Website zu bringen, ohne sich allzu viel Spaghetti-Code einzufangen. Der Section-Picker ist zwar ebenfalls nicht objektorientiert, kommt aber trotzdem mit recht wenig Code aus.

Wer dabei die Zeile:
require(WB_PATH.'/modules/'.$module.'/view.php');
auskommentiert, kann deutlich an Ladezeit sparen. Unter Umständen kann es aber zu unerwünschten Darstellungen kommen.

Wien, 01.04.2020

Zurück