Blame | Letzte Änderung | Log anzeigen | RSS feed
Compiler Functions {#plugins.compiler.functions}==================Compiler functions are called only during compilation of the template.They are useful for injecting PHP code or time-sensitive static contentinto the template. If there is both a compiler function and a [customfunction](#language.custom.functions) registered under the same name,the compiler function has precedence.mixedsmarty\_compiler\_namearray\$paramsobject\$smartyThe compiler function is passed two parameters: the params array whichcontains precompiled strings for the attribute values and the Smartyobject. It\'s supposed to return the code to be injected into thecompiled template including the surrounding PHP tags.<?php/** Smarty plugin* -------------------------------------------------------------* File: compiler.tplheader.php* Type: compiler* Name: tplheader* Purpose: Output header containing the source file name and* the time it was compiled.* -------------------------------------------------------------*/function smarty_compiler_tplheader($params, Smarty $smarty){return "<?php\necho '" . $smarty->_current_file . " compiled at " . date('Y-m-d H:M'). "';\n?>";}?>This function can be called from the template as:{* this function gets executed at compile time only *}{tplheader}The resulting PHP code in the compiled template would be something likethis:<?phpecho 'index.tpl compiled at 2002-02-20 20:02';?>See also [`registerPlugin()`](#api.register.plugin),[`unregisterPlugin()`](#api.unregister.plugin).