2011-08-12 294 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。