一个用于PHP Smarty的修改器插件是否能够访问Smarty对象?
块和函数插件类型都需要将当前的Smarty对象作为参数传递。例如:
function smarty_function_NAME($params, Smarty_Internal_Template $Smarty) {...}
function smarty_block_NAME($params, $content, Smarty_Internal_Template $Smarty, &$repeat) {...}
但是修改器插件不支持,即:
function smarty_modifier_NAME($arg1, $arg2, ...) {...}
有没有办法在修饰符内部访问Smarty对象?
我想创建一个修饰符,可以获取变量名称字符串的值,就像这样:
{$colorblue = '#0317e9'}
{$index = 'blue'}
{$_color = "color`$index`"|smarty_variable_value}
{$_variable = "variable\
$index`"|smarty_variable_value:$index}`。 - periklisvariable1
的变量。索引也不一定是数字。我会相应地编辑问题。 - Martijn”运算符将任意数量的变量传递给你的修饰符:
{$_color = "color`$index`"|smarty_variable_value:$colorblue:$index:$var1:$var2}`。 - periklis