Allexb10 Posted November 26, 2013 Share Posted November 26, 2013 (edited) Olá, Fiz alterações no tema default e necessito que o bloco de produtos recomendados apresente somente 3 produtos. O original busca os produtos da mesma categoria e mostra todos, quero que mostre somente 3 produtos. No arquivo productscategory.tpl tem um loop: {foreach from=$categoryProducts item='categoryProduct' name=categoryProduct} <li>... ... {/foreach} Como faço para percorrer o loop somente até o terceiro produto? Edited November 27, 2013 by Allexb10 (see edit history) Link to comment Share on other sites More sharing options...
Daniel - PrestaBR Posted November 26, 2013 Share Posted November 26, 2013 Sugestão: {foreach from=$categoryProducts item='categoryProduct' name=categoryProduct} {if $smarty.foreach.categoryProduct.index eq 3} {break} {/if} <li>... ... {/foreach} Link to comment Share on other sites More sharing options...
Allexb10 Posted November 26, 2013 Author Share Posted November 26, 2013 Já havia tentado isto, mas não está encerrando o loop. Segue o tpl: {* * 2007-2013 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2013 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} {if count($categoryProducts) > 0 && $categoryProducts !== false} <div class="clearfix blockproductscategory"> <h2 class="productscategory_h2">{$categoryProducts|@count} {l s='Produtos Recomendados:' mod='productscategory'}</h2> <div id="{if count($categoryProducts) > 5}productscategory{else}productscategory_noscroll{/if}"> {if count($categoryProducts) > 5}<a id="productscategory_scroll_left" title="{l s='Previous' mod='productscategory'}" href="javascript:{ldelim}{rdelim}">{l s='Previous' mod='productscategory'}</a>{/if} <div id="productscategory_list"> <ul {if count($categoryProducts) > 5}style="width: {math equation="width * nbImages" width=150 nbImages=$categoryProducts|@count}px"{/if}> {foreach from=$categoryProducts item='categoryProduct' name=categoryProduct } {if $smart.foreach.categoryProduct.index eq 3}{break}{/if} <li {if count($categoryProducts) < 6}{/if}> <a href="{$link->getProductLink($categoryProduct.id_product, $categoryProduct.link_rewrite, $categoryProduct.category, $categoryProduct.ean13)}" class="lnk_img" title="{$categoryProduct.name|htmlspecialchars}"><img src="{$link->getImageLink($categoryProduct.link_rewrite, $categoryProduct.id_image, 'medium_default')}" alt="{$categoryProduct.name|htmlspecialchars}" /></a> <p class="product_name"> <a href="{$link->getProductLink($categoryProduct.id_product, $categoryProduct.link_rewrite, $categoryProduct.category, $categoryProduct.ean13)}" title="{$categoryProduct.name|htmlspecialchars}">{$categoryProduct.name|truncate:14:'...'|escape:'htmlall':'UTF-8'}</a> </p> {if $ProdDisplayPrice AND $categoryProduct.show_price == 1 AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE} <p class="price_display"> <span class="price">{convertPrice price=$categoryProduct.displayed_price}</span> </p> {else} <br /> {/if} </li> {/foreach} </ul> </div> {if count($categoryProducts) > 5}<a id="productscategory_scroll_right" title="{l s='Next' mod='productscategory'}" href="javascript:{ldelim}{rdelim}">{l s='Next' mod='productscategory'}</a>{/if} </div> <script type="text/javascript"> $('#productscategory_list').trigger('goto', [{$middlePosition}-3]); </script> </div> {/if} Link to comment Share on other sites More sharing options...
Daniel - PrestaBR Posted November 26, 2013 Share Posted November 26, 2013 Tenta colocar $smarty ao invés de $smart. Link to comment Share on other sites More sharing options...
Allexb10 Posted November 26, 2013 Author Share Posted November 26, 2013 rsrsrsr... Desculpe a ignorância... Nem pra copiar do seu post né!? Muito obrigado! Link to comment Share on other sites More sharing options...
CarlosC Posted November 27, 2013 Share Posted November 27, 2013 Boas, Em vez de colocar. {foreach from=$categoryProducts item='categoryProduct' name=categoryProduct} {if $smarty.foreach.categoryProduct.index eq 3} {break} {/if} <li>... ... {/foreach} Deve colocar: {foreach from=$categoryProducts item='categoryProduct' name=categoryProduct} {if $smart.foreach.categoryProduct.index eq 3} {break} {/if} <li>... ... {/foreach} Cumps Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now