2017-10-26 5 views
1

Ich denke, ich bin auf dem richtigen Weg, aber nicht funktioniert, wie ich gehofft hatte; Ich möchte alle zwei Elemente mit einem div-Wrapper einpacken, der alle zwei Elemente in neue Zeilen bringt, aber nicht wirklich funktioniert, wie ich es gemacht habe. Ich bin neu bei Smarty.Verwenden von Smarty-Schleife, um ein div um alle zwei Elemente zu wickeln

TPL

<div class="row-fluid"> 
    <div class="span12"> 
    {foreach from=$cart.products item="pp" key="pp_key" name="loop"} 
     {if $pp.extra.package_info.p_id == $key && !$pp.extra.package_info.hidden} 
     <div class="span6"> 
      <p>{$pp.product_id|fn_specific_development_get_category}<br> 
      <a href="{"products.view&product_id=`$pp.product_id`"|fn_url}"> {$pp.product}</a> 
      </p> 
      {if $pp.product_options} 
      {include file="common/options_info.tpl" product_options=$cart_products.$pp_key.product_options} 
      {else} 
      &nbsp;-&nbsp; 
      {/if} 
      <p class="center">{$pp.amount/$product.amount}</p> 
      {if $product.price_rule == "S"} 
      <p>{include file="common/price.tpl" value=$pp.extra.package_info.f_price class="none"}</p> 
      <p>{include file="common/price.tpl" value=$pp.extra.package_info.f_price*$pp.amount class="none"}</p> 
      {/if} 
     </div> 
     {/if} 
     {if $pp.extra.package_info.p_id == $key} 
     <input type="hidden" name="cart_products[{$key}][package][{$pp.extra.package_info.table_key}][{$pp.extra.package_info.inc}][product_id]" value="{$pp.product_id}" /> 
     <input type="hidden" name="cart_products[{$key}][package][{$pp.extra.package_info.table_key}][{$pp.extra.package_info.inc}][amount]" value="{$pp.amount/$product.amount}" /> 
     {if $pp.product_options} 
      {foreach from=$pp.product_options key="opt_id" item="opt_value"} 
      <input type="hidden" name="cart_products[{$key}][package][{$pp.extra.package_info.table_key}][{$pp.extra.package_info.inc}][product_options][{$opt_id}]" value="{$opt_value}" /> 
      {/foreach} 
     {/if} 
     {/if} 
     {if $smarty.foreach.loop.index is div by 2} 
     </div><div class="row-fluid"> 
     {/if} 
    {/foreach} 
    </div> 
</div> 

Es sollte wie am Ende etwas ....

<div class="row-fluid"> 
    <div class="span6">....</div> 
    <div class="span6">....</div> 
</div> 
<div class="row-fluid"> 
    <div class="span6">....</div> 
    <div class="span6">....</div> 
</div> 
<div class="row-fluid"> 
    <div class="span6">....</div> 
</div> 

Antwort

0

Für alle anderen wollen hier wissen, war meine Lösung:

eine Iteration verwendet und Streifen zu Wrap Inhalt Schleife

{foreach from=$cart.products item="pp" key="pp_key" name="loop"} 
    {strip} 
    {if $pp.extra.package_info.p_id == $key && !$pp.extra.package_info.hidden} 
     <div class="span6"> 
     <p>{$pp.product_id|fn_specific_development_get_category}<br> 
      <a href="{"products.view&product_id=`$pp.product_id`"|fn_url}"> {$pp.product}</a> 
     </p> 
     {if $pp.product_options} 
      {include file="common/options_info.tpl" product_options=$cart_products.$pp_key.product_options} 
     {else} 
      &nbsp;-&nbsp; 
     {/if} 
     <p class="center">{$pp.amount/$product.amount}</p> 
     {if $product.price_rule == "S"} 
      <p>{include file="common/price.tpl" value=$pp.extra.package_info.f_price class="none"}</p> 
      <p>{include file="common/price.tpl" value=$pp.extra.package_info.f_price*$pp.amount class="none"}</p> 
     {/if} 
     </div> 
    {/if} 
    {if $pp.extra.package_info.p_id == $key} 
     <input type="hidden" name="cart_products[{$key}][package][{$pp.extra.package_info.table_key}][{$pp.extra.package_info.inc}][product_id]" value="{$pp.product_id}" /> 
     <input type="hidden" name="cart_products[{$key}][package][{$pp.extra.package_info.table_key}][{$pp.extra.package_info.inc}][amount]" value="{$pp.amount/$product.amount}" /> 
     {if $pp.product_options} 
     {foreach from=$pp.product_options key="opt_id" item="opt_value"} 
      <input type="hidden" name="cart_products[{$key}][package][{$pp.extra.package_info.table_key}][{$pp.extra.package_info.inc}][product_options][{$opt_id}]" value="{$opt_value}" /> 
     {/foreach} 
     {/if} 
    {/if} 
    {/strip} 
    {if $smarty.foreach.loop.last or $smarty.foreach.loop.iteration is div by 2} 
    </div><div class="row-fluid"> 
    {/if} 
{/foreach} 
Verwandte Themen