fredyms Posted September 6, 2014 Share Posted September 6, 2014 Hola, He visto muchos post sobre este tema, pero ninguno me ha funcionado, estoy utilizando la última versión de Prestashop con una plantilla y no encuentro la manera de hacer algo que considero fundamental para una mejor visualización de los productos destacados, en la página de inicio. Alguna experiencia o solución sobre este tema, muchas gracias de antemano. Link to comment Share on other sites More sharing options...
rafaelamargo Posted September 6, 2014 Share Posted September 6, 2014 He visto este tema: http://www.prestashop.com/forums/topic/316661-random-home-featured-in-v16 en relación a lo que comentas. Link to comment Share on other sites More sharing options...
fredyms Posted September 6, 2014 Author Share Posted September 6, 2014 (edited) He visto este tema: http://www.prestashop.com/forums/topic/316661-random-home-featured-in-v16 en relación a lo que comentas. Si, lo he estado probando, pero a mi no me funciona, es posible que esté haciendo algo mal, seguro, no obstante yo tengo una plantilla y no estoy seguro si se reescribe algo de este modulo, en mi plantilla hay un modulo de homefeatured pero no controlo lo suficiente como para modificarlo por mi cuenta. El cambio afecta a este fichero: module/homefeatured/homefeatured.php Que es donde he estado probando los cambios sugeridos en el post que indicas. Pero yo tengo un modulo homefeatured dentro de mi plantilla, que es el que está activo. /themes/theme/modules/homefeatured/homefeatured.tpl <!-- MODULE Home Featured Products --> <section class="block homefeatured"> <h4>{l s='Featured products' mod='homefeatured'}</h4> {if isset($products) AND $products} <ul class="products"> {foreach from=$products item=product name=homeFeaturedProducts} <li class="ajax_block_product "> <a class="product_image" href="{$product.link}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"> <img src="{$link->g etImageLink($product.link_rewrite, $product.id_image, 'home_default')}" alt="{$product.name|escape:html:'UTF-8'}" /> </a> <h5><a class="product_link" href="{$product.link}" title="{$product.name|truncate:50:'...'|escape:'htmlall':'UTF-8'}">{$product.name|truncate:25:'...'|escape:'htmla ll':'UTF-8'}</a></h5> {if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE} <p class="price_container"><span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span></p > {else}{/if} <p class="product_descr" href="{$product.link}" title="{l s='More' mod='homefeatured'}">{$product.description_short|strip_tags|truncate:100:'...'}</p> {if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_m ode) AND $product.minimal_quantity == 1 AND $product.customizable != 2 AND !$PS_CATALOG_MODE} {if ($product.quantity > 0 OR $product.allow_oosp)} <a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" href="{$link->getPageLin k('cart')}?qty=1&id_product={$product.id_product}&token={$static_token}&add" title="{l s='Add to cart' mod='homefeatured'}">{l s='Add to cart' mod='homefeature d'}</a> {else} <span class="exclusive">{l s='Add to cart' mod='homefeatured'}</span> {/if} {else} {/if} <a class="button" href="{$product.link}" title="{l s='View' mod='homefeatured'}"><span>{l s='View' mod='homefeatured'}</span></a> </li> {/foreach} </ul> {else} <p>{l s='No featured products' mod='homefeatured'}</p> {/if} </section> <!-- /MODULE Home Featured Products --> gracias Edited September 6, 2014 by fredyms (see edit history) Link to comment Share on other sites More sharing options...
fredyms Posted October 6, 2014 Author Share Posted October 6, 2014 No hay nadie que me pueda ayudar con esté código, PS ha actualizado el modulo para hacerlo pero esté es de una plantilla y no queda bien si pongo el nuevo. Gracias de antemano. Link to comment Share on other sites More sharing options...
Daviant Posted October 6, 2014 Share Posted October 6, 2014 (edited) No hay nadie que me pueda ayudar con esté código, PS ha actualizado el modulo para hacerlo pero esté es de una plantilla y no queda bien si pongo el nuevo. Gracias de antemano. La ultima versión del módulo (Version modulo 1.6) incorpora la funcionalidad al azar y también la categoria a desplegar. Antes tenía modificado el código, pero ahora no es necesario. Edited October 6, 2014 by Daviant (see edit history) Link to comment Share on other sites More sharing options...
Daviant Posted October 6, 2014 Share Posted October 6, 2014 (edited) El cambio que me producía el efecto aleatorio era el siguiente: En el archivo: \modules\homefeatured\homefeatured.php Busca esto: HomeFeatured::$cache_products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8), 'position'); y cambialo por esto: HomeFeatured::$cache_products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8),'date_add', 'DESC', false, true, true, $nb); Eso, si tienes este código en tu plantilla. Edited October 6, 2014 by Daviant (see edit history) Link to comment Share on other sites More sharing options...
fredyms Posted October 7, 2014 Author Share Posted October 7, 2014 No hay nadie que me pueda ayudar con esté código, PS ha actualizado el modulo para hacerlo pero esté es de una plantilla y no queda bien si pongo el nuevo. Gracias de antemano. Gracias, como indico, ya he visto el cambio del modulo, pero yo tengo una plantilla, y el código que pongo en el post pertenece al homefeatured, el problema aquí es que todos los ajustes y cambios hacen referencia al homfeatured por defecto y como comento yo estoy usando una plantilla. El código del homefeatured, está listado en el primero post. Link to comment Share on other sites More sharing options...
fredyms Posted October 7, 2014 Author Share Posted October 7, 2014 He encontrado una función, que podria servir pero por más pruebas que hago no consigo que funcione. la función shuffle. <?php $numbers = range(1, 20); shuffle($numbers); foreach ($numbers as $number) { echo "$number "; } ?> Link to comment Share on other sites More sharing options...
lastapril Posted October 7, 2014 Share Posted October 7, 2014 Hola, mira esto public function hookDisplayHome($params){ $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); /*$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));*/ $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10), 'date_add', 'DESC', false, true, true, $nb); shuffle($products); $this->smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize('home_default'), )); return $this->display(__FILE__, 'homefeatured.tpl'); } En este puedes ver la funcion shuffle colocada en el codigo Link to comment Share on other sites More sharing options...
fredyms Posted October 7, 2014 Author Share Posted October 7, 2014 (edited) Hola, mira esto public function hookDisplayHome($params){ $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); /*$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));*/ $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10), 'date_add', 'DESC', false, true, true, $nb); shuffle($products); $this->smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize('home_default'), )); return $this->display(__FILE__, 'homefeatured.tpl'); } En este puedes ver la funcion shuffle colocada en el codigo Ya he probado y no funciona, mi modulo no tiene php he probado a modificar el php que se encuentra en tienda/modules directamente. \modules\homefeatured\homefeatured.php No sé como implementear shuffle junto a foreach, creo que la clave está ahí. Edited October 7, 2014 by fredyms (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts