我想通过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
)
答案 0 :(得分:3)
试试这个:而不是section
使用foreach
。
{foreach from=$answers item=answer}
<simpleChoice identifier="{$answer}">{$answer}</simpleChoice>
{assign var = "inc" value=$inc+1}
{/foreach}
这类似于php中的foreach
循环。
参考:http://www.smarty.net/docsv2/en/language.function.foreach