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}

这类似于foreachphp 中的循环。

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

于 2013-03-05T06:20:08.933 回答