mirror of
https://github.com/smarty-php/smarty.git
synced 2025-07-25 21:47:13 +02:00
Feature/add docs (#689)
* Add converted docs repo * Set theme jekyll-theme-minimal * Removed BC docs, added TOC * Added TOCs, rewrote most important links in documentation. Linked README to new Github Pages site * some link fixes
This commit is contained in:
66
docs/programmers/plugins/plugins-compiler-functions.md
Normal file
66
docs/programmers/plugins/plugins-compiler-functions.md
Normal file
@ -0,0 +1,66 @@
|
||||
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 content
|
||||
into the template. If there is both a compiler function and a [custom
|
||||
function](#language.custom.functions) registered under the same name,
|
||||
the compiler function has precedence.
|
||||
|
||||
mixed
|
||||
|
||||
smarty\_compiler\_
|
||||
|
||||
name
|
||||
|
||||
array
|
||||
|
||||
\$params
|
||||
|
||||
object
|
||||
|
||||
\$smarty
|
||||
|
||||
The compiler function is passed two parameters: the params array which
|
||||
contains precompiled strings for the attribute values and the Smarty
|
||||
object. It\'s supposed to return the code to be injected into the
|
||||
compiled 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 like
|
||||
this:
|
||||
|
||||
|
||||
<?php
|
||||
echo 'index.tpl compiled at 2002-02-20 20:02';
|
||||
?>
|
||||
|
||||
|
||||
|
||||
See also [`registerPlugin()`](#api.register.plugin),
|
||||
[`unregisterPlugin()`](#api.unregister.plugin).
|
Reference in New Issue
Block a user