【问题标题】:Modify array contents in smarty?在 smarty 中修改数组内容?
【发布时间】:2012-09-25 00:17:07
【问题描述】:

我们正在使用 smarty,

在我们的一种观点中,我们有:

{if $header.showNav}...{/if}

如果我们想设置我们使用:

$header = $smarty->getTemplateVars('header');
$header['showNav'] = true;
$smarty->assign('header', $header);

哪个有效, 不过好像有点啰嗦。

smarty 是否提供了一种更轻松的管理方式?

【问题讨论】:

    标签: php smarty smarty3


    【解决方案1】:

    为什么不直接推出自己的功能:

    function updateSmarty($smarty, $templateVar, $key, $value) {
        $templateVars = $smarty->getTemplateVars($templateVar);
        $templateVars[$key] = $value;
        $smarty->assign($templateVar, $templateVars);
    }
    

    然后你可以在你需要的地方一行:

    updateSmarty($smarty, 'header', 'showNav', true);
    

    甚至:

    function showNav($smarty) {
        updateSmarty($smarty, 'header', 'showNav', true);
    }
    

    然后:

    showNav($smarty);
    

    【讨论】:

    • 是的,这就是我打算做的,我只是觉得 smarty 可能有一个内置的方法来做到这一点!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多