PHP-Code einbinden
Wenn Sie Funktionen benötigen, die von VirthosTalk nicht bereitgestellt werden, können Sie eigenen PHP-Code in Ihre Templates einbinden. Je nachdem, was Sie genau bezwecken, stehen Ihnen verschiedene Wege zur Auswahl, die in den folgenden Abschnitten näher beschrieben sind. Unabhängig davon, auf welche Weise der PHP-Code eingebunden wird, stehen verschiedene API-Funktionen zur Verfügung, um von PHP aus auf virthos-spezifische Funktionen und Objekte zuzugreifen.
vtCalc und vtEcho
Die einfachste und in allen Virthos-Varianten verfügbare Methode, um eigenen
PHP-Code einzubinden, besteht darin, die Anweisung vtCalc
oder den Platzhalter vtEcho zu verwenden. Beide erwarten
als Parameter einen PHP-Ausdruck und erlauben es, in den Parameter beliebige
VirthosTalk-Platzhalter einzufügen, die vor der Evaluierung des PHP-Codes
durch ihre jeweiligen Werte ersetzt werden. Der Unterschied zwischen den
beiden besteht darin, dass vtEcho
das Ergebnis unmittelbar ausgibt, während
vtCalc
das Ergebnis intern speichert, so dass es mittels vtResult
ausgegeben oder mittels vtSet
in einer benannten Variablen abgelegt werden
kann.
vtCode
Wenn Sie nicht nur einfache Ausdrücke, sondern komplexere Codeblöcke einbinden
möchten, sind vtCalc
und vtEcho
nicht geeignet. In solch einem Fall müssen
Sie die vtCode-Anweisung verwenden, die allerdings nur in
Virthos Master zur Verfügung steht. Diese liefert kein Ergebnis zurück, das
sich unmittelbar ausgeben oder speichern lässt, und es ist auch nicht möglich,
VirthosTalk-Platzhalter direkt in den PHP-Code einzubinden. Dafür gibt es
keinerlei Einschränkungen, was die Komplexität des Codes betrifft.
Einbindung mittels Skript-Tags
In Virthos Master ist es auch möglich, PHP-Code direkt einzubinden, indem man diesen in Skript-Tags einschließt:
<!-- HTML-Code mit VirthosTalk-Elenten -->
<?php /* Hier steht irgendwelcher PHP-Code */ ?>
<!-- HTML-Code mit VirthosTalk-Elenten -->
Bei dieser Art der Einbindung ist zu beachten, dass der Code nichts enthalten darf, was vom Template-Compiler als VirthosTalk-Konstrukt oder als relativer Ressourcenpfad angesehen werden könnte. Das heißt konkret:
-
Geschweifte Klammern dürfen nicht unmittelbar aufeinanderfolgen.
-
relative Pfad (z. B. in einem
include
-Aufruf) müssen mit einem einzelnen Punkt am Anfang geschrieben werden:./pfad/zu/einer/datei
Einbindung einer externen Datei
Über den Konfigurationsparameter includeFile
ist es möglich zu veranlassen,
dass bei jedem Virthos-Aufruf eine externe PHP-Datei geladen wird. Diese Datei
kann zum Beispiel eigene Funktionsdefinitionen enthalten und ihrerseits weitere
Programmbibliotheken laden. Der Konfigurationsparameter erwartet als Wert eine
absolute oder relative Pfadangabe. Ein relativer Pfad wird vom
Virthos-Basisverzeichnis aus aufgelöst.
Plug-ins
Um die Einbindung externer Dateien leichter steuern zu können, bietet Virthos
eine einfache Plug-in-Schnittstelle. Ein Plug-in ist ein Unterverzeichnis im
Verzeichnis plugins
, das wiederum ein Unterverzeichnis des
Virthos-Basisverzeichnisses ist. Jedes Plug-in muss eine Datei mit dem Namen
_init.php
bereitstellen, die den auszuführenden PHP-Code enthält.
Um ein Plug-in zu aktivieren, tragen Sie dessen Namen in die globale Variable
activePlugins
ein. Sollen mehrere Plug-ins aktiv sein, sind die Namen durch
Kommas zu trennen. Eine Oberfläche zum Aktivieren und Deaktivieren von
Plug-ins ist in Vorbereitung.