Jeder Block kann auch ein PHP Skript besitzen, welches automatisch eingebunden wird. Dazu muss in Ihrem site Pfad das Verzeichnis blocks existieren und hier eine PHP Datei mit dem Namen Ihres Blocks. Beispiel:
pub/theme/<THEME>/site/blocks/my_block.php
pub/theme/<THEME>/skin/blocks/my_block.tpl
skin/<DESIGN>/blocks/my_block.tpl
site/<MANDANT>/blocks/my_block.php
Legen Sie bei Bedarf auch eine blocks.php direkt im site Verzeichnis an, wenn Sie ein Skript für jeden Block ausführen möchten. Dieses Skript wird vor dem Block spezifischen Skript ausgeführt und kennt die selben lokalen Variablen.
Es wird empfohlen PHP Code, der Blöcke betrifft, in eine Block spezifische oder globale Block PHP Datei auszulagern. Verwenden Sie hierfür nicht die index.php, da diese nur einmal für die gesamte Seite oder den Seitentyp eingebunden wird.
Im Skript sind folgende lokale Variablen verfügbar:
Parameter-Name | Typ | Beschreibung |
$page | Page |
Das aktuelle Page Objekt. |
$site | Site |
Das aktuelle Site Objekt. |
$auth | Auth |
Das aktuelle Auth Objekt. |
$block | String |
Bezeichnung des Blocks. Nützlich, wenn mehrere Blöcke die selben Skripte einbinden. |
$orient | String |
Die Orientierung, in der dieser Block verwendet wird. |
$index | Integer |
Die Position dieses Blocks in der verwendeten Orientierung. |
$extra | Array |
Die zugehörigen Block Einstellungen. |
$smarty | Smarty |
Das zugehörige Smarty Objekt. Über dieses Objekt gesetzte Variablen sind im Block Template verfügbar. |
$uid | String |
Die eindeutige Kennung des Blocks. |
$variant | String |
Die Variante des Blocks. |
$GLOBALS | Array |
Zusätzlich stehen natürlich alle globalen Variablen über $GLOBALS zur Verfügung. |