在smarty中重复模板(模板中没有逻辑)

时间:2014-05-25 14:20:11

标签: php smarty

我不想在我的tpl文件中编写循环。

我想做这样的事情

foreach($arr as $val=>$key){
   $tpl->push($val); //not assign
}
//
$tpl->repeatDisplay('my.tpl');

或类似的东西

$tpl->repeatFor("mytile",$arr);
$tpl->repeatDisplay('my.tpl');

2 个答案:

答案 0 :(得分:2)

我不会有任何其他方式,所以尝试

foreach($arr as $val=>$key){
   $tpl->assign('var',$val);
   $tpl->display('my.tpl'); 
}

答案 1 :(得分:1)

你可以做的就是使用fetch而不是display:

$output = '';
foreach($arr as $val=>$key){
   $tpl->assign('var',$val);
   $output .= $tpl->fetch('my.tpl'); 
}

echo $output;

但是如果你只想在my.tpl中使用它来显示简单的变量,它就没有多大意义,因为你可以在评论中阅读。在模板中使用循环很简单,你可以用它来显示数据。