array $params;mixed $content;object $template;boolean &$repeat;

    块函数的形式是:{func} .. {/func}。换句话说,它们用标签圈起一个块,然后对这个块的内容进行操作。块函数优先于同名的,这样,你不能同时有自定义函数和块函数{func}..{/func}

    • 默认你的函数将被Smarty调用两次,在开始标签位置调用和在结束标签位置调用。 (参考下面如何通过$repeat来改变这种情况)

    • 块函数只有在开始标签时才有 属性。 模板中传递给块函数的属性都包含在$params参数数组中。 在处理结束标签时,这些属性也是可用的。

    • $repeat是一个引用值,能控制块可以被显示多少次。当块函数被第一次调用时(开始标签),$repeat默认是true;随后的调用(结束标签)都是false。 每次当块函数返回时将设成true,{func}…{/func}间的内容会被再次计算,计算结果保存$content参数内,在并且函数将被再次执行。


    Example 18.5. 块函数

    参见: registerPlugin(), .