2011-08-12 446 views
0

我一直在使用Smarty模板引擎与display_errors = Off。打开它,我意识到,刚刚离开:SMARTY - 如何显示模板变量

<li{$page['home']}>...</li> 
<li{$page['about']}>...</li> 

其中,

$page['home'] = ' class="current"'; 
$this->smarty->assign("page", $page); 

给我一个错误,说$page['about']没有定义。

截至目前,我看到我的选择是要么把display_errors = Off还是要做到这一点:

<li{if isset($page['home'])}{$page['home']}{/if}>...</li> 
<li{if isset($page['about'])}{$page['about']}{/if}>...</li> 

有什么理由我应该使用一个比其他?还是更好的解决方案?谢谢。

+2

你可以使'about'模板变量等于一个空字符串。 –

+2

这是Smarty 3吗?我知道在smarty 2你会使用{$ page.home} – Scuzzy

回答

2

总之,没有什么区别...

但是,它更安全来定义空变量作为NULL。这可以保护您免受剩菜,或者来自您后来忘记的其他页面的东西,等等......这只是安全的。

许多人发誓在开始使用它们之前将未使用的变量(可以设置)设置为NULL。