Taglibs

Vorbereitung

In diesem Tutorial wird die Erstellung und Verwendung von Taglibs erklärt. Dies sind PHP-Klassen, die wie HTML Tags im Template verwendet werden können. Die Lektüre des "DocumentController" Tutorials wird vorausgesetzt.

Erstellen von Taglibs

Um eine Taglib zu erstellen, legt man unter "org/sample" einen neuen Ordner "taglibs" an, in welchem man die Datei "taglib.php" erstellt.


<?php
class sample_tl_SampleTaglib extends cube_node{
	function getOutputValue(){
		return "taglibs are cool and useful";
	}
}
?>

Wichtig: zwischen dem Namespace und dem Klassennamen muss ein "tl" stehen, also "namespace_tl_klassenname".

Verwendung von Taglibs

Um diese Taglib nun zu verwenden, muss sie zuerst importiert werden:


<cube:addTagLib namespace="org.sample" file="taglibs/taglib" prefix="tlib"/>

Die Datei "org/sample/taglibs/taglib" ist nun importiert und mit dem Präfix "tlib" ansprechbar.
Um eine Klasse aus dieser Datei ins Template einzubauen, ist folgender Code vonnöten:

<tlib:SampleTaglib/>

Damit wird die Klasse "sample_tl_SampleTaglib" aus der oben importierten Datei instanziert, die Methode "getOutputValue()" aufgerufen und der Rückgabe ins Template geschrieben.
Das komplette Template sieht so aus:

<?@ cube:documentcontroller namespace="org.sample" file="controllers/formcontroller" class="formcontroller" ?>
<cube:stylesheet>
<cube:addTagLib namespace="org.sample" file="taglibs/taglib" prefix="tlib"/>
	<html>
		<body>
			<tlib:SampleTaglib/>
		</body>
	</html>
</cube:stylesheet>