您好,欢迎访问一九零五行业门户网

还是ecshop问题:smarty里的 iteration 如何才能从2开始

//iteration 默认是从1开始
{$smarty.foreach.pro.iteration}
//如果我想从11开始应该怎么写?
{$smarty.foreach.pro.iteration + 10?}
不要用这样的 if 判断的 {if $smarty.foreach.pro.iteration = 1}2{/if}
能否在   ?
回复讨论(解决方案) 可以加个start 
修改 includes\cls_template.php 里面的 foreach 处理方法,找到 
function _compile_foreach_start($tag_args)
在里面的输出之前添加一个
$i = $attrs['start'] ? $attrs['start'] : 0; //by neo
下面的if里面加入 $i++
if (!empty($name))
{
$foreach_props = \$this->_foreach['$name'];
$output .= {$foreach_props} = array('total' => count(\$_from), 'iteration' => 0, 'i' => {$i});\n;
$output .= if ({$foreach_props}['total'] > 0):\n;
$output .=     foreach (\$_from as $key_part$item):\n;
$output .=         {$foreach_props}['iteration']++;\n;
$output .=         {$foreach_props}['i']++;\n; //by neo
}
start=2 试试
其它类似信息

推荐信息