7年前 (2014-11-27)  PHP 评论关闭  621 
文章评分 0 次,平均分 0.0

今天给客户解决ecshop问题,首页调用产品列表的时候需要按要求调用数量,暂时又没找到控制数量的函数,想的如果只调用前几个,也相当于控制了调用的数量,于是在网上查了一下ecshop的foreach用法,大多写的比较笼统,就拿我亲身经历写详细一点。

首先语法里面必须要的属性from和item

属性 from是必须的,意思循环调用的哪个数组,如果是最新商品,就应该是from=$new_goods, 代表从最新商品数组里开始循环

item属性也必选的,item=goods表示当前元素的变量名是goods,比如循环中的$goods.name即为单商品的名称

name=new_goods则是用于访问foreach属性的foreach循环的名称,比如$smarty.foreach.new_goods.iteration,表示访问循环的次数,iteration这个数值是从1开始,每循环一次会自动曾1。相同用法的还有index,如$smarty.foreach.new_goods.index,区别是index是从0开始计数的。

在上述代码中</li>后应该加个</ul>就完事了,为什么还加了那么一句判断呢?我觉得这就是模板用的比较灵活的用法了,%3为0时且当前数值不等于总循环次数的时候输出</ul><ul>,多了一个<ul>,是因为还没完,以3个为一组是一个ul闭区间,可以灵活换行 或者其他样式的排列。

当不是3的倍数或者提前结束,循环结束。

那么问题来了,如何控制输出个数呢?

表示循环4次,如果用index,那么就应该是$smarty.foreach.name.index < 5

 

除特别注明外,本站所有文章均为php技术交流原创,转载请注明出处来自https://www.2kuaiqian.cn/archives/90

关于
切换注册

登录

忘记密码 ?

切换登录

注册

扫一扫二维码分享