0

smartyテンプレートでXMLファイルを作成したい。このために、テンプレートファイルに配列を渡します。これは、配列を生成して渡すために使用しているコードです。

$correct_answers = explode(",", $answer['answer']);
$smarty->assign('answers', $correct_answers);

配列は正常に生成され、print_r();を使用してチェックしました。しかし、私の問題は、tplファイルに空が表示されることです。カウントを確認すると、0と表示されます。配列の値を取得できません。これはテンプレートファイルコードです。

{assign var = "inc" value="0"}
{section name=answer loop=$answers}
    <simpleChoice identifier="{$answers[answer]}">{$answers[answer]}</simpleChoice>         
    {assign var = "inc" value=$inc+1}
{/section}

どこが間違っていたのかわかりません。

配列構造は、

Array
(
    [0] => Alonso
    [1] => Jenson Button
    [2] => Rubens Barrichello
)
4

1 に答える 1

3

これを試してください:代わりにsection使用しますforeach

{foreach from=$answers item=answer}
    <simpleChoice identifier="{$answer}">{$answer}</simpleChoice>         
    {assign var = "inc" value=$inc+1}
{/foreach}

foreachこれはphpのループに似ています。

参照: http://www.smarty.net/docsv2/en/language.function.foreach

于 2013-03-05T06:20:08.933 に答える