XSLT-Items direkt über PHP aufrufen

30. Jul 2014

XSLT-Items lassen sich nicht nur über den Struktureditor mit Hilfe von XML ansprechen, sondern können auch direkt über PHP aufgerufen werden.

In einer Seite, können XML-Elemente beliebig platziert werden. Jedes XML-Element wird dann über das zugehörige XSLT-Template transformiert und somit entsprechend der gewünschten Logik und des definierten Designs dargestellt. Ergänzend dazu gibt es in der Version 9 die Möglichkeit, ein XSLT-Template direkt über PHP aufzurufen.

Hat man bereits fertig definierte Elemente, die man in eigenen Skripte ansprechen will, ohne dafür eine XML-Definition zu haben, kann man dies direkt über die Methode wWeblic::renderItemData machen. Anstatt die Daten in wd:fragment-Elementen als XML zu definieren, werden sie in der Funktion über ein Array übergeben.

XML-Element einer Überschrift

<wd:item type="headline.text">
<
wd:fragment id="display" type="char.display">h4</wd:fragment>
<
wd:fragment id="text" type="text.standard"><![CDATA[Überschrift 4]]></wd:fragment>
</
wd:item>

Innerhalb eines PHP-Elementes einer Seite kann ein Element über die ID angesprochen werden

print wWeblic::renderItemData('headline.text', array('text' => 'Dynamische Überschrift 4', 'display' => 'h4'));

In einem beliebigen PHP-Skript kann ein Element über den Pfad angesprochen werden

print wWeblic::renderItemData('/wGlobalProject/wGlobal/layout/templates/items/headline.text.wItem.php', array('text' => 'Dynamische Überschrift 4', 'display' => 'h4'));