Get Smarty

Donate

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Buy cheap glasses from Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? EyewearCanada.com is your best choice!

Advertisement

Функции компилятора

Функции компилятора, как вы наверное догадались, вызываются только в процессе компиляции шаблона. Они могут быть полезными для вставки кода PHP или чувствительного ко времени статического контента в шаблон. Если одновременно зарегестрированы две одноименные функции - пользовательская и компилятора, то приоритет будет у функции компилятора.

mixed smarty_compiler_name( $tag_arg,  
  &$smarty);  
string $tag_arg;
object &$smarty;
 

Функция компилятора имеет два параметра: строку аргументов тэга - чаще всего это все, что следует от наименования функции до правого разделителя, и объект Smarty. Функция должна возвращать PHP-код для вствки в скомпилированный шаблон.

Смотрите также register_compiler_function(), unregister_compiler_function().

Example 16.6. Простой пример функции компилятора


<?php
/*
* Smarty plugin
* -------------------------------------------------------------
* Файл:     compiler.tplheader.php
* Тип:     compiler
* Имя:     tplheader
* Назначение:  вывести заголовок, содержащий имя исходного файла и
*           время, когда он был скомпилирован.
* -------------------------------------------------------------
*/
function smarty_compiler_tplheader($tag_arg, &$smarty)
{
return "\necho '" . $smarty->_current_file . " compiled at " . date('Y-m-d H:M'). "';";
}
?>

Эта функция может быть вызвана из шаблона следующим образом:


{* Функция выполняется только при компиляции шаблона *}
{tplheader}

  

Результирующий код PHP в скомпилированном шаблоне будет выглядеть примерно так:


<?php
echo 'index.tpl compiled at 2002-02-20 20:02';
?>

  

Comments
No comments for this page.

Advertisement