Eine vergessene Funktion: substituteMarkerArrayCached

von | Aug 18, 2008 | Technologie | 0 Kommentare

TYPO3 stellt diverse Funktionen zur Verfügung, die die Erstellung von Extensions deutlich vereinfachen. Dabei gibt es auch einige, die selten genutzt werden, obwohl sie bestimmte Probleme deutlich vereinfachen.

Eine dieser Funktionen ist substituteMarkerArrayCached. Sie dient dem vereinfachten Austausch von Markern, Subparts und sogenannten Wrapped Subparts. Marker lassen sich zugegebenermaßen auch über substituteMarkerArray, Subparts über substituteSubparts austauschen. Auf die Vorteile dieser Funktion werde ich im Nachfolgenden kurz eingehen.

Zunächst vermag sie, wie bereits angedeutet Wrapped Subparts auszutauschen (soweit ich das bisher gesehen habe, ist es überhaupt die einzige). Mit solchen Wrapped Subparts ist es möglich, Elemente im Template in durch PHP zu umrahmen, was sich inbesondere bei Verlinkungen auszahlen kann. Was das bedeutet, sollen folgende Codeschnipsel andeuten:

<!-- ###LINK_ITEM### -->Weitere Informationen<!-- ###LINK_ITEM### -->

Nun lässt sich mit nachfolgendem Code bequem ein Link um das „Weitere Informationen“ setzen:

$wrappedSubparts['###LINK_ITEM###'] = explode('|', $this->pi_linkTP_keepPIvars('|', 
        array('function' => 'var'), $value));
$content .= $this->cObj->substituteMarkerArrayCached
        ($template,$markerArray, $subparts, $wrappedSubparts);

Wie gezeigt werden im Gegensatz zu normalen Markern und Subparts nicht einzelne Inhalte, sondern jeweils zwei übergeben, die vor bzw. hinter dem Elemente eingefügt werden. Da substituteMarkerArrayCached nicht allzu verbreitet ist, wurde diese Funktionalität bisher relativ oft über die Kombination von getSubpart und substituteSubpart realisiert. Dies führt nicht zuletzt auch zu deutlich unübersichtlicherem und unlesbarerem Code.

Außerdem hilft die Funktion auch punktuell die Performance der Verarbeitung der Strings zu verbessern. Dies wird über Überprüfung und Caching des übergebenen Template-Code und den Daten-Arrays vor der Verarbeitung gewährleistet. Dies sollte sicher nicht überbewertet werden, kann sich bei konsequenter Anwendung aller Caching-Mechanismen jedoch auch positiv auswirken.

Insgesamt wird mit substituteMarkerArrayCached ein Werkzeug an die Entwicklerhand gegeben, die das Leben durchaus erleichtern kann. Ein genauerer Blick kann sich also durchaus lohnen!

PS: Wir sind durchaus offen für weitere vorstellungswürdige Funktionen, die in TYPO3 versteckt schlummern und auf ihre Nutzung warten.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Akeneo trifft auf künstliche Intelligenz

Akeneo trifft auf künstliche Intelligenz

In der heutigen Zeit sind Unternehmen auf der Suche nach innovativen Technologien, um ihre Geschäftsprozesse zu optimieren und ihre Wettbewerbsfähigkeit zu steigern. Eine dieser Technologien ist Künstliche Intelligenz (KI), die Unternehmen bei der Automatisierung von...

mehr lesen
Consent Management Platform von Real Cookie Banner