{foreach name=goods_list from=$best_goods item=goods} 怎么理解?

发布于 2022-09-02 15:59:14 字数 743 浏览 6 评论 0

index.dwt
recomment_best.lbi

      <!--{foreach name=goods_list from=$best_goods item=goods}--> 
      
      <div id="more_element_1" class="product flex_in single_item">
        <div class="pro-inner">
          <div class="proImg-wrap"><a href="{$goods.url}" > <img src="{$site_url}
          
     这是我从ecshop的.lbi文件中截取的一部分。我查看了php文件,他们并没有给index.dwt 赋予$goods变量。 但是,他们赋予了他 $best_goods 变量。
     
     所以,我很好奇: <div class="proImg-wrap"><a href="{$goods.url}" > <img src="{$site_url}
     这个地方的$goods 变量哪里来的??
     
     这句话:<!--{foreach name=goods_list from=$best_goods item=goods}-->  又是什么意思??
     这样的写法,属于什么语法??是 smarty ? 
     求解决??谢谢
     
     

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

︶葆Ⅱㄣ 2022-09-09 15:59:14

from就是你后台assign过来的值哟,比如说,你后台的controller里面的action中
$smarty->assign('best_goods',$best_goods);
辣么,你在模板文件接收from的值必须是$best_goods
{foreach name=goods_list from=$best_goods item=goods}
接下来,你就可以在模板中使用$goods变量了,通过这样来使用{$goods},$goods现在就是一位数组,你可以通过.操作,像这样{$goods.url},或者通过数组方式访问,像这样{$goods['url']},name属性好像不是必须的,你试下

别挽留 2022-09-09 15:59:14

你这个是smarty2.0 模板引擎的foreach循环语法,最终会被模板引擎编译成php代码,然后执行!

先看官方文档说明:
clipboard.png

name:smarty模板引擎,foreach对象本身的名称,方便后续操作,比如进行序号判断之类的

  {if $smarty.foreach.goods_list.index % 5 == 0}
     <tr><th>Title</th></tr>
  {/if}

from:你这个例子里相当于是一个商品列表数组
item:你这个例子里相当于是一个商品

审判长 2022-09-09 15:59:14

{foreach name=goods_list from=$best_goods item=goods}
$best_list是一个数组,这句的意思就是循环将best_list这个数组的元素赋值给goods来使用

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文