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!

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Shop for 2018 World Cup Football Boots Online sale at guthjcc.com

Browse best 2018 world cup soccer cleats and shoes from SoccerAzteca.com

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.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 2 plus 13? (Are you human?)

Advertisement