0

PHPと組み合わせたSmartyは初めてで、とても気に入っています。残念ながら、$ _ POSTが実行された後、フィールドの検証中に問題が発生しました。

$ errorsという配列を作成し、それを使用してエラーメッセージを保存します。例:$errors[]。="Wrongemail";。私の問題は、$ errors配列をテンプレートに送信して、それを使用してエラーメッセージを表示できるようにすることです。

私の質問:$ errors変数をテンプレートファイルに「転送」して、たとえば{foreach}で使用できるようにするにはどうすればよいですか。私は次のようなことをすることを計画していました

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

前もって感謝します

4

1 に答える 1

1

他の変数と同じように、配列をテンプレートに割り当てることができます。

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

また、最初に配列を作成するときは、連結演算子を削除して、次のコマンドを使用してください。

$errors[] = 'Wrong email';

最後に、配列に要素を追加したり、割り当てたりする前に、必ず配列を初期化してください。

$errors = array()

編集:追加情報を含めたので、問題はSmartyタグの構文に関係していると思います。代わりに次の行を試して$、変数にを追加してください。

{foreach from=$errors item=error}
于 2012-10-11T21:36:33.113 に答える