2012-10-11 72 views
0

Im新的Smarty與PHP結合,我真的很喜歡它。 不幸的是,在完成$ _POST之後驗證字段時遇到問題。Smarty動態錯誤列表

我已經創建了一個名爲$ errors的數組,並用它來保存錯誤消息,例如:$ errors []。=「錯誤的電子郵件」;. 我的問題是將$ errors數組發送到模板,以便我可以使用它顯示錯誤消息。

我的問題:如何將$ errors變量轉移到模板文件中,以便在那裏使用它,例如{foreach}。我打算提前

做這樣的事情

{if $hasErrors} 
    {foreach from=errors item=error} 
      <li>{$error}</li> 
    {/foreach} 
{/if} 

感謝

回答

1

你可以像你可以任何其他變量數組分配給您的模板。

$smarty->assign('errors', $errors); 

此外,初步構建陣列時,掉落的連接符,只需使用:

$errors[] = 'Wrong email'; 

最後,請務必在嘗試將元素添加到它,或分配給它之前初始化數組。

$errors = array() 

編輯:現在你已經包含了更多的信息,我認爲這個問題與您的Smarty的標籤語法做。嘗試使用此行,並在您的變量中添加$

{foreach from=$errors item=error}