Inserts插入

Insert plugins are used to implement functions that are invoked by {insert} tags in the template.
插入插件用来执行在模板中被{insert}标记调用的函数

string smarty_insert_name(array $params, object &$smarty)

The first parameter to the function is an associative array of attributes passed to the insert. Either access those values directly, e.g. $params['start'] or use extract($params) to import them into the symbol table.
函数的第一个参数是一个传递给插入动作的属性集合数组。每一种方式都可以直接获取那些属性值例如$params['start'],或用extract($params)将属性导入符号表中。

The insert function is supposed to return the result which will be substituted in place of the {insert} tag in the template.
插入函数将会返回某值,该值将在模板中的{insert} 标记处被替换。

Example 16-11. insert plugin插入插件

<?php
/*
 * Smarty plugin
 * ------------------------------------------------------------- 
 * File:     insert.time.php
 * Type:     time
 * Name:     time
 * Purpose:  Inserts current date/time according to format
 * -------------------------------------------------------------
 */
function smarty_insert_time($params, &$smarty)
{
    if (empty($params['format'])) {
        $smarty->trigger_error("insert time: missing 'format' parameter");
        return;
    }

    $datetime = strftime($params['format']);
    return $datetime;
}
?>