Eusebio100 Posted March 11, 2015 Share Posted March 11, 2015 (edited) Hola, me gustaría que en mi tienda el módulo de novedades funcionase como el de ofertas, quiero decir que si lo enganchas en la home y en la columna, en esta última muestre solo un producto (aleatorio) y en la home muestre los que le marcas en configuración, en mi caso 16. ¿algún módulo que lo haga o alguna forma de modificarlo? Gracias de antemano. Edited March 12, 2015 by Eusebio100 (see edit history) Link to comment Share on other sites More sharing options...
Eusebio100 Posted March 12, 2015 Author Share Posted March 12, 2015 Casi resuelto. He conseguido lo de cargar un solo producto en left column limitando la carga en el archivo blocknewproducts.tpl, pero ahora me falta hacer que los productos se muestren de forma aleatoria, para eso creo que tengo que modificar el archivo blocknewproducts.php pero no me aclaro con él. A ver si alguien me echa una mano porfa. Link to comment Share on other sites More sharing options...
Eusebio100 Posted March 12, 2015 Author Share Posted March 12, 2015 Al final lo he resuelto. Antes de nada decir que estoy con prestashop 1.6.0.11 y el tema por defecto. 1) Para que en la columna el módulo de productos nuevos muestre solo un producto buscar el archivo: /themes/default-bootstrap/modules/blocknewproducts/blocknewproducts.tpl Sustituir todo el bloque de código por este: <!-- MODULE Block new products --> <div id="new-products_block_right" class="block products_block"> <h4 class="title_block"> <a href="{$link->getPageLink('new-products')|escape:'html'}" title="{l s='New products' mod='blocknewproducts'}">{l s='New products' mod='blocknewproducts'}</a> </h4> <div class="block_content products-block"> {if $new_products !== false} <ul class="products"> {foreach from=$new_products item=newproduct name=myLoop} {if $smarty.foreach.myLoop.index < 1 } <li class="clearfix"> <a class="products-block-image" href="{$newproduct.link|escape:'html'}" title="{$newproduct.legend|escape:html:'UTF-8'}"><img class="replace-2x img-responsive" src="{$link->getImageLink($newproduct.link_rewrite, $newproduct.id_image, 'small_default')|escape:'html'}" alt="{$newproduct.name|escape:html:'UTF-8'}" /></a> <div class="product-content"> <h5> <a class="product-name" href="{$newproduct.link|escape:'html'}" title="{$newproduct.name|escape:html:'UTF-8'}">{$newproduct.name|strip_tags|escape:html:'UTF-8'}</a> </h5> <p class="product-description">{$newproduct.description_short|strip_tags:'UTF-8'|truncate:75:'...'}</p> {if (!$PS_CATALOG_MODE AND ((isset($newproduct.show_price) && $newproduct.show_price) || (isset($newproduct.available_for_order) && $newproduct.available_for_order)))} {if isset($newproduct.show_price) && $newproduct.show_price && !isset($restricted_country_mode)} <div class="price-box"> <span class="price"> {if !$priceDisplay}{convertPrice price=$newproduct.price}{else}{convertPrice price=$newproduct.price_tax_exc}{/if} </span> </div> {/if} {/if} </div> </li> {/if} {/foreach} </ul> <div> <a href="{$link->getPageLink('new-products')|escape:'html'}" title="{l s='All new products' mod='blocknewproducts'}" class="btn btn-default button button-small"><span>{l s='All new products' mod='blocknewproducts'}<i class="icon-chevron-right right"></i></span></a> </div> {else} <p>» {l s='Do not allow new products at this time.' mod='blocknewproducts'}</p> {/if} </div> </div> <!-- /MODULE Block new products --> Lo único que hice fue añadir un condicional ({if $smarty.foreach.myLoop.index < 1 }). Para que en lugar de un producto muestre dos o más, solo hay que sustituir el número en el condicional. 2) Para que los productos nuevos se muestren de forma aleatoria en las columnas y en el home hay que modificar el archivo: /modules/blocknewproducts/blocknewproducts.php. Sobre la línea 115 buscar: $newProducts = Product::getNewProducts((int) $this->context->language->id, 0, (int)Configuration::get('NEW_PRODUCTS_NBR')); Sustituir por: $newProducts = Product::getNewProducts((int) $this->context->language->id, 0, 100);shuffle($newProducts);array_splice($newProducts, (int)Configuration::get('NEW_PRODUCTS_NBR')); Esta modificación del archivo blocknewproducts.php es una adaptación de una versión muy antigua (ps 1.2) que encontré por el foro de inglés, pero funciona perfectamente. Espero que a alguien le sirva. Link to comment Share on other sites More sharing options...
claudiaquitpillo Posted December 11, 2017 Share Posted December 11, 2017 Funciona perfecto! Muchísimas gracias por el aporte!! era justo lo que andaba buscando 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