网站开发 · 2025年4月23日

ecshop smarty模板里不能使用for循环的替代方法

一个里需要使用for循环来生成一个小东东,没办法,因为网页优化需要,需要将一些JS移动到页面底部。然后在制作模板的时候发现,不能在模板里使用for循环。因为smarty不支持!然后ecshop 也不支持section.怎么办?
 

找到一个替代的办法,就是使用foreach和if搭配使用

<!–{foreach from=array(1,2,3,4,5,6,7,8) item=i}–> <!–{if $i <= $goods_cat.floor}–> <script type=”text/javascript”>new dk_slideplayer(“#pub_slideplay{$i}”,{width:”473px”,height:”180px”,fontsize:”12px”,time:”5000″});</script> <script type=”text/javascript”>new dk_slideplayer11(“#pub_slideplay11{$i}”,{width:”209px”,height:”180px”,fontsize:”12px”,time:”5000″});</script> <!–{/if}–> <!–{/foreach}–>

  就随便弄个数组,然后foreach循环,当$i小于等于某变量的时候,就输出内容    $goods_cat.floor 是从cart_goods.lbi里带出来的,这个到最后是一个数字。   这里只是说一个方法,如果你遇到smarty里面需要用到for循环的,用这种ecshop修改方法替换也还是不错的选择。