如何将foreach输出保存到Smarty中的另一个数组并使用{foreach}之外的新数组?
示例:
{foreach name=cats from=$category->subcategories item=n}
/*here would be something like $newArr = ($n->name,$n->url)*/
{/foreach}
<a href="$newarr->name">hi</a>
答案 0 :(得分:1)
对PHP的了解不多,但在PHP中使用array_push函数的简单方法。或者用[](同样的事情)来做:
$newArr = array();
foreach($oldArr as $oldArr) {
$newArr[] = $n->name,$n->url;
// EQUIVALENT TO
array_push($oldArr, $n->name,$n->url);
}
答案 1 :(得分:0)
你应该从后面的代码中做到这一点。 Smarty用于查看图层,并且此类图层不应该对除显示之外的变量执行某些操作。您可以在php代码中将输出保存到数组,然后将其分配给您的视图。但如果你真的想要聪明地做,你可以使用 php标签 http://www.smarty.net/docsv2/en/language.function.php.tpl,但我不推荐它。
还有一个有趣的标签
<强> {附加} 强>
{append}用于在执行模板期间创建或附加模板变量数组。