2016-07-08 113 views
1

我只是花了几个小时挖一个搜索,试图找到关于这个问题的一些信息。
我可能不知道要搜索什么:)。
我在电子商务店使用Smarty模板引擎。Smarty模额外空标记集问题

在第一页的中间,我有一个产品按类别(选项卡)出现问题的旋转木马。
问题的形式是在分析的产品列表中插入带有类“迭代”标记集的空'div',并在分析产品列表的最后和/或开始处插入。
我认为问题在于foreach循环的开始,因为
{$ smarty.foreach.wrap.index%3 == 0} => 0%3 == 0数组的第一个键是0.

<div class="banner-middle"> 
    <div class="container"> 
     <ul role="tablist" class="nav nav-tabs tab-heading"> 
      {section name=ca loop=$categorii.id} 
      <li class="tab-title {if $i=='1'}active{/if}" role="presentation"> 
       <a data-toggle="tab" role="tab" aria-controls="home-tab-second" href="#tab_{$i++}">{$categorii.subcategorie[ca]}</a> 
      </li> 
      {/section} 
     </ul> 
     <div class="offer-tile tab-content home-carousel"> 
      {foreach from=$categorii.produse key=k item=v name=block} 
       <div id="tab_{$tab_n++}" class="wrap-oferte tab-pane {if $smarty.foreach.block.index == 0}active{/if}" role="tabpanel"> 
        <div class="iteration"> 
         {foreach from=$v key=a item=b name=wrap} 

         {if $smarty.foreach.wrap.index % 3 == 0} 
        </div> 
        <div class="product_large"> 
         <div class="tile-block"> 
          <span class="category-tile">{$b.categorie}</span> 
          <div class="tile-product-details"> 
           <div class="title-tile"> 
            <a href="{$website}/p/{$b.seo}/{$b.alias}">{$b.titlu}</a> 
           </div> 
           <div class="image-tile"> 
            <img src="{$b.fotomare}"/> 
           </div> 
           <div class="buy-tile"> 
            <div class="category-tile">Ambalaj: {$b.gramaj}</div> 
            <span class="price-left {if $b.pretredus > 0}sale{/if}">{if $b.pretredus > 0} {$b.pretredus} Lei<span class="price-left-redus">{$b.prettotal}</span>{else}{$b.prettotal} Lei{/if}</span> 
            <a href="{$website}/p/{$b.seo}/{$b.alias}"><i class="icon-carucior"></i></a> 
           </div> 
          </div> 
         </div> 
        </div> 
        <div class="iteration"> 
         {else} 
         <div class="product_normal"> 
          <span class="category-tile">{$b.categorie}</span> 
          <div class="tile-product-details"> 
           <div class="title-tile"> 
            <a href="{$website}/p/{$b.seo}/{$b.alias}">{$b.titlu}</a> 
           </div> 
           <div class="image-tile"> 
            <img src="{$b.foto}" /> 
           </div> 
           <div class="buy-tile"> 
            <div class="category-tile">Ambalaj: {$b.gramaj} </div> 
            <span class="price-left {if $b.pretredus > 0}sale{/if}">{if $b.pretredus > 0} {$b.pretredus} Lei<span class="price-left-redus">{$b.prettotal}</span>{else}{$b.prettotal} Lei{/if}</span> 
            <a href="{$website}/p/{$b.seo}/{$b.alias}"><i class="icon-carucior"></i></a> 
           </div> 
          </div> 
         </div> 
         {if $smarty.foreach.wrap.index is div by $smarty.foreach.wrap.total} 
        </div> 
        {/if} 
        {/if} 

        {/foreach} 
       </div> 
       </div> 
     {/foreach} 
    </div> 
    </div> 

enter image description here

索里对我的英语不好。

回答

1

试着用$ smarty.foreach.wrap.iteration代替索引。此外,请检查您的逻辑,因为现在您的html会很容易变得混乱,而且模板也很难阅读。只要看看div“迭代”;尝试重新安排你的代码来打开,一旦关闭它,你会用正常的HTML做:

<div class="iteration"><!-- opens the iteration div --> 
{foreach from=$v key=a item=b name=wrap} 

{if $smarty.foreach.wrap.index % 3 == 0} 
</div><!--closes iteration div--> 
<div class="product_large"> 
.... 
</div> 
<div class="iteration"> <!--opens the iteration div again --> 
{else} 
... 
+0

我加入我的旋转木马问题 – speedy

+0

的演示图像,如果我用迭代来代替它就会变得混乱 – speedy

+0

如果我不与成功聪明我会在php – speedy