Okt
Smarty Template Funktionen
Smarty bietet die Möglichkeit eigene Template Funktionen bzw. Modifier zu definieren die im Template wie die hauseigenen Funktionen/Modifier von Smarty verwendet werden können. Ein typischer Aufruf würde z.B. folgendermaßen aussehen:
{function param1="foo" param2="bar"} um die Template Funktion function mit den Parametern foo und bar aufzurufen.
{$foo|modifier:"bar"} um die Template Variable $foo mit dem Modifier modifier zu manipulieren und dabei den Parameter bar zu übergeben.
Die entsprechenden in PHP geschrieben Funktionen die die eigentliche Programmlogik beinhalten werden im Verzeichnis plugins abgelegt und beginnen entweder mit function für Funktionen oder modifier für Modifier.
Innerhalb dieser Dateien hat man die Möglichkeit auf bereits bestehende Funktionen/Modifier zurückzugreifen. Möchte man in einer selbst geschriebenen Template Funktion also z.B. auf die mailto Funktion oder den truncate Modifier von Smarty zugreifen lässt sich dies folgendermaßen realisieren:
function smarty_function_foo($params, &$smarty) {
require_once($smarty->_get_plugin_filepath("function", "mailto"));
smarty_function_mailto(array("address" => $address, "subject" => $subject), $smarty);
}
function smarty_function_bar($params, &$smarty) {
require_once($smarty->_get_plugin_filepath("modifier", "truncate"));
smarty_modifier_truncate($string, 80, "...", true);
}
Mit dieser Methode hat man natürlich auch die Möglichkeit auf eigene Funktionen/Modifier zurückzugreifen. Weitere Informationen hierzu finden sich im Smarty Manual, im Kapitel Smarty durch Plugins erweitern.


Kommentare
Zu diesem Beitrag wurden noch keine Kommentare verfasst.