2016-07-08 104 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