我们正在使用smarty,
在我们的一个观点中,我们有:
{if $header.showNav}...{/if}
如果我们想设置我们使用:
$header = $smarty->getTemplateVars('header');
$header['showNav'] = true;
$smarty->assign('header', $header);
哪个有用, 但它似乎相当漫长。
smarty是否提供了一种更容易管理的方法?
答案 0 :(得分:2)
为什么不滚动自己的功能:
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);