gpt4 book ai didi

php - 可以访问 Smarty 对象的 Smarty 修改器插件

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:26 27 4
gpt4 key购买 nike

PHP Smarty 的修改器插件可以访问 Smarty 对象吗?

block 和 function 插件类型都将当前的 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}

最佳答案

我最终创建了一个小的 get 扩展函数来处理这个问题:

function smarty_function_get($params, Smarty_Internal_Template $Smarty) {
if (!isset($params['name'])) {
return;
}

$value = $Smarty->getTemplateVars($params['name']);

if (!isset($params['assign'])) {
return $value;
}

$Smarty->assign($params['assign'], $value);
}

调用方式

{get name="color`$index`" assign="_color"}

关于php - 可以访问 Smarty 对象的 Smarty 修改器插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28456738/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com