php - Smarty - foreach 循环 4 次并创建一个新列表

标签 php html smarty

我想用 smarty 实现这样的列表。

<ul>
 <li>
   <a>img1</a>
   <a>img2</a>
   <a>img3</a>
   <a>img4</a>
 </li>
 <li>
   <a>img5</a>
   <a>img6</a>
   <a>img7</a>
   <a>img8</a>
 </li>
<li>
   <a>img9</a>
   <a>img10</a>
   <a>img11</a>
   <a>img12</a>
 </li>
</ul>

使用此示例代码

<ul class="bullet">
    {foreach from=$manufacturers item=manufacturer name=manufacturer_list}
        {if $smarty.foreach.manufacturer_list.index < 4}
      <li class="{if $smarty.foreach.manufacturer_list.last}last_item{elseif $smarty.foreach.manufacturer_list.first}first_item{else}item{/if}">   

        <a href="{$link->getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}" title="{l s='More about' mod='blockmanufacturer'}{$manufacturer.name}"> <img src="{$img_manu_dir}{$manufacturer.id_manufacturer}.jpg"><span>{$manufacturer.name}<span></a>
      </li>
    {/if}
{/foreach}

首先使用给定的数组 $manufacturers 它将在 <li> 中循环最多 4 次,将创建 4 <img> .然后,当它到达第 4 个索引时,它将创建一个新的 <li>。标签。

感谢您的帮助!

最佳答案

您想在每个 li 标签中显示 4 张图片吗?

<ul>
{foreach from=$manufacturers item=manufacturer name=manufacturer_list}
  {if $smarty.foreach.manufacturer_list.index % 4 == 0}
    <li>
  {/if}

  <a><img></a>

  {if $smarty.foreach.manufacturer_list.index % 4 == 0 || $smarty.foreach.manufacturer_list.last}
    </li>
  {/if}
{/foreach}
</ul>

关于php - Smarty - foreach 循环 4 次并创建一个新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11070085/

相关文章:

javascript - 如何使用 post (ajax) 执行 IF/ELSE?

php - 在 CakePHP 3 中使用 IFNULL ... GROUP_CONCAT()

php - 插入/更新脚本根本不更新

css - HTML 占位符不适用于 Android

php - 有谁知道如何检查 href 是否等于 smarty 中的当前页面链接?

php - MySQL - 获取层次结构中的顶级父 ID

javascript - 如何捕获双击复选框

javascript - 使用 Javascript 在 5 个元素之后插入横幅 div

netbeans - 如何在 NetBeans 中更改 PHP Smarty 插件模板文件扩展名?

javascript - 如何只打印outerHTML