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


Repeating a template in smarty ( no logic in template)

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

我想做这样的事情

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

或者类似的

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

我不认为有任何其他方法可以解决这个问题,所以尝试

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

你能做的就是用fetch代替display:

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

但是如果你想用它来显示简单的变量。你可以在评论中看到,这没有多大意义。在模板中使用循环很简单,可以用来显示数据。