neoset Posted October 16, 2013 Share Posted October 16, 2013 (edited) Sabeis si existe algun modulo gratuito o un aporte de codigo que ponga las estrellas de valoracion de comentarios bajo los productos destacados del homepage y que se vean como en la mayoria de tiendas web. Las estrellas de valoracion en la home bajo los productos es un reclamo enorme y hace subir las ventas, a dia de hoy casi todas las tiendas web las tienen pero en prestashop falta un modulo que venga por defecto para ese cometido. Un saludo. Edited October 30, 2013 by neoset (see edit history) Link to comment Share on other sites More sharing options...
Mary Brezden Posted October 16, 2013 Share Posted October 16, 2013 Holas! Yo instale uno parecido , talvez es lo mismo que buscas, aqui el link, espero te sirva. http://victor-rodenas.com/2012/03/19/resena-modulo-valoraciones-en-los-productos/ Nota, consulta la compatibilidad de la versión de tu prestashop Link to comment Share on other sites More sharing options...
neoset Posted October 17, 2013 Author Share Posted October 17, 2013 (edited) Lo que necesito es la manera de enseñar las estrellas de valoracion y numero de comentarios de modo informativo en la home de la tienda de esta manera: Y es que tiene que haber una manera por defecto en prestashop de poder hacerlo pero no la encuentro. Edited October 17, 2013 by neoset (see edit history) Link to comment Share on other sites More sharing options...
__fito__ Posted October 17, 2013 Share Posted October 17, 2013 ¿Has probado YOTPO? hay un módulo gratis para PS y tiene muy buena pinta, de haberlo sabido antes no me habría gastado la pasta en el Google Rich Snippets & Reviews.... Link to comment Share on other sites More sharing options...
neoset Posted October 17, 2013 Author Share Posted October 17, 2013 (edited) Es un programa externo que necesita de clave y nose yo creo que con un par de lineas de codigo se puede hacer. Ademas no deja poner las estrellas en el home. Edited October 17, 2013 by neoset (see edit history) Link to comment Share on other sites More sharing options...
neoset Posted October 20, 2013 Author Share Posted October 20, 2013 ¿Alguien sabria como generar el codigo para enseñar las estrellas de valoracion y numero de comentarios en el bloque productos destacados?, es lo unico que le falta a prestashop, muchisimas webs por no decir todas usan las estrellas en productos destacados de sus home: http://www.amazon.es/b/ref=sa_menu_comp?ie=UTF8&node=937912031 http://www.pccomponentes.com/ http://www.pixmania.es/index.html Pero prestashop no tiene esa opcion y Yotpo tampoco la tiene ademas de estar muy mal traducido. Para el que entienda un poco de programacion no le llevara mas de 10 minutos plasmar las estrellas y el numero de comentarios en productos destacados de la home. Muchas gracias. Link to comment Share on other sites More sharing options...
nadie Posted October 20, 2013 Share Posted October 20, 2013 Vamos a seguir esta guía: http://nemops.com/prestashop-product-rating-product-list/ que esta preparada para el listado de productos, pero de igual modo sirve para los productos destacados con una pequeña adaptacion. 1º Paso que dice la guía. Ir al fichero: modules/productcomments/productcomments.php Buscar esto: public function install() { if (!file_exists(dirname(__FILE__).'/'.self::INSTALL_SQL_FILE)) return false; else if (!$sql = file_get_contents(dirname(__FILE__).'/'.self::INSTALL_SQL_FILE)) return false; $sql = str_replace(array('PREFIX_', 'ENGINE_TYPE'), array(_DB_PREFIX_, _MYSQL_ENGINE_), $sql); $sql = preg_split("/;\s*[\r\n]+/", trim($sql)); foreach ($sql as $query) if (!Db::getInstance()->execute(trim($query))) return false; if (parent::install() == false || !$this->registerHook('productTab') || !$this->registerHook('extraProductComparison') || !$this->registerHook('productTabContent') || !$this->registerHook('header') || !$this->registerHook('productOutOfStock') || !Configuration::updateValue('PRODUCT_COMMENTS_MINIMAL_TIME', 30) || !Configuration::updateValue('PRODUCT_COMMENTS_ALLOW_GUESTS', 0) || !Configuration::updateValue('PRODUCT_COMMENTS_MODERATE', 1)) return false; return true; } y dejarlo asi: public function install() { if (!file_exists(dirname(__FILE__).'/'.self::INSTALL_SQL_FILE)) return false; else if (!$sql = file_get_contents(dirname(__FILE__).'/'.self::INSTALL_SQL_FILE)) return false; $sql = str_replace(array('PREFIX_', 'ENGINE_TYPE'), array(_DB_PREFIX_, _MYSQL_ENGINE_), $sql); $sql = preg_split("/;\s*[\r\n]+/", trim($sql)); foreach ($sql as $query) if (!Db::getInstance()->execute(trim($query))) return false; if (parent::install() == false || !$this->registerHook('productTab') || !$this->registerHook('extraProductComparison') || !$this->registerHook('productTabContent') || !$this->registerHook('header') || !$this->registerHook('productOutOfStock') || !$this->registerHook('productosDestacados') || !Configuration::updateValue('PRODUCT_COMMENTS_MINIMAL_TIME', 30) || !Configuration::updateValue('PRODUCT_COMMENTS_ALLOW_GUESTS', 0) || !Configuration::updateValue('PRODUCT_COMMENTS_MODERATE', 1)) return false; return true; } Siguiente paso, editamos el fichero: /themes/default/modules/homefeatured/homefeatured.tpl Y añadimos esto: {hook h='productosDestacados' idproduct=$product.id_product} en la parte donde quieres que se impriman las estrellitas. Por ejemplo antes de : {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}<div style="height:21px;"></div>{/if} 3º Paso En el fichero: /modules/productcomments/productcomments.php Añada esto: public function hookProductosDestacados($params) { require_once(dirname(__FILE__).'/ProductComment.php'); require_once(dirname(__FILE__).'/ProductCommentCriterion.php'); $id_product = $params['idproduct']; $product_average = 0; $grades = ProductComment::getAveragesByProduct($id_product, $this->context->language->id); $criterions = ProductCommentCriterion::getByProduct($id_product, $this->context->language->id); $grade_total = 0; if (count($grades) > 0) { foreach ($criterions as $criterion) { if (isset($grades[$criterion['id_product_comment_criterion']])) { $grade_total += (float)($grades[$criterion['id_product_comment_criterion']]); } } $product_average = $grade_total / count($criterions); } $this->context->smarty->assign('average_total', (int)$product_average); return $this->display(__FILE__, '/destacados.tpl'); } --- Despues creamos en el directorio:: /modules/productcomments/ un fichero llamado: destacados.tpl Con este contenido: <div class="star_content clearfix"> {section name="i" start=0 loop=5 step=1} {if $smarty.section.i.index lt $average_total} <div class="star star_on"><a href=""></a></div> {else} <div class="star"><a href=""></a></div> {/if} {/section} </div> Ahora en el fichero: homefeatured.css Añades esto: #featured-products_block_center li .star_content { display: inline-block; margin-bottom: 10px; } Luego lógicamente en el mismo homfeatured.css tienes que ampliar la altura (height) del: #featured-products_block_center li ---- No me hago responsable de lo que pase y de si no funciona o dejar de funcionar. (Ni siquiera lo he probado) 1 Link to comment Share on other sites More sharing options...
nadie Posted October 20, 2013 Share Posted October 20, 2013 Otra opción que he visto: http://www.prestashop.com/forums/topic/274843-module-product-ratings-on-category-list-ps-15/(Con ese modulo, depende hacer las instrucciones en el product-list.tpl de añadir lo que te dicen en el post, puedes probar añadirlo en el homefeatured.tpl)(Tampoco lo he probado) Link to comment Share on other sites More sharing options...
neoset Posted October 20, 2013 Author Share Posted October 20, 2013 Muchas gracias Victor aun no lo he probado pero se que funcionara. Muchas gracias por el tiempo dedicado y espero que no te vallas definitivamente, mañana vere si funciona y pondre el tema como solucionado en cuanto este probado. Link to comment Share on other sites More sharing options...
neoset Posted October 21, 2013 Author Share Posted October 21, 2013 (edited) Pues llevo tiempo intentandolo y no a funcionado de todas maneras gracias. Tambien e intentado hacer lo que dice este post http://nemops.com/prestashop-product-rating-product-list/ pero tampoco me funciona. Lo ideal seria ponerlo tanto en productos destacados como en la lista de productos pero nada ni en uno ni en otro. Edited October 21, 2013 by neoset (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted October 21, 2013 Share Posted October 21, 2013 Pues llevo tiempo intentandolo y no a funcionado de todas maneras gracias. Tambien e intentado hacer lo que dice este post http://www.prestashop.com/forums/topic/274843-module-product-ratings-on-category-list-ps-15/ pero tampoco me funciona. Lo ideal seria ponerlo tanto en productos destacados como en la lista de productos pero nada ni en uno ni en otro. Ummmm pues parece que hubo fracaso absoluto. (Yo no probe el codigo que te he comentado, si me da por probarlo te aviso) Link to comment Share on other sites More sharing options...
neoset Posted October 21, 2013 Author Share Posted October 21, 2013 De acuerdo, muchas gracias. Link to comment Share on other sites More sharing options...
nadie Posted October 22, 2013 Share Posted October 22, 2013 De acuerdo, muchas gracias. Veo que has abierto un tema en el foro Ingles: http://www.prestashop.com/forums/topic/283729-stars-and-number-of-comments-on-list-of-products-featured-products-and-under-general-products/ (a ver que te cuentan) Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 22, 2013 Share Posted October 22, 2013 Este script funciona en ps 1.5.X : En homefeatured.php en el hook DisplayHome 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)); $link = new Link(); foreach ($products as $p) { $query_sum = 'SELECT COUNT(*) as sum FROM '._DB_PREFIX_.'product_comment WHERE id_product = '.$p['id_product']; $sum_votes = Db::getInstance()->getValue($query_sum); $query_grades = 'SELECT SUM(grade) as grades FROM '._DB_PREFIX_.'product_comment WHERE id_product = '.$p['id_product']; $grades = Db::getInstance()->getValue($query_grades); if ($sum_votes > 0) $star = floor($grades / $sum_votes); else $star = 0; if ($star > 0) { $url_product = $link->getProductLink($p['id_product']).'#idTab5'; $stars[$p['id_product']] .= '<a href="'.$url_product.'">'; for ($i=1; $i<=5; $i++) { if ($star >= $i) $stars[$p['id_product']] .= '<div class="star star_on"></div>'; else $stars[$p['id_product']] .= '<div class="star star_off"></div>'; } $stars[$p['id_product']] .= '('.$sum_votes.')</a>'; } } $this->smarty->assign(array( 'products' => $products, 'stars' => $stars, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize('home_default'), )); return $this->display(__FILE__, 'homefeatured.tpl'); } Luego en el homefeatured.tpl (en modules/homefeatured de tu tema p.ej), tienes esta nueva variable smarty stars p.ej <div class="featured_box"> <h5><a class="product_link" href="{$product.link}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:28:'...'|escape:'htmlall':'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> {if $product.price_without_reduction != $product.price}<span class="price-drop-feacherd">{convertPrice price=$product.price_without_reduction}</span>{/if} <div class="star_content"> {if isset($stars[$product.id_product])} {$stars[$product.id_product]} {/if} </div> Esto se renderiza de forma que p.ej tenemos 4 estrellas con un link a los comentarios: Los estilos son una estrella llena o vacía de background, supongo que tu tema ya lo debe tener. 1 Link to comment Share on other sites More sharing options...
nadie Posted October 22, 2013 Share Posted October 22, 2013 Este script funciona en ps 1.5.X : En homefeatured.php en el hook DisplayHome 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)); $link = new Link(); foreach ($products as $p) { $query_sum = 'SELECT COUNT(*) as sum FROM '._DB_PREFIX_.'product_comment WHERE id_product = '.$p['id_product']; $sum_votes = Db::getInstance()->getValue($query_sum); $query_grades = 'SELECT SUM(grade) as grades FROM '._DB_PREFIX_.'product_comment WHERE id_product = '.$p['id_product']; $grades = Db::getInstance()->getValue($query_grades); if ($sum_votes > 0) $star = floor($grades / $sum_votes); else $star = 0; if ($star > 0) { $url_product = $link->getProductLink($p['id_product']).'#idTab5'; $stars[$p['id_product']] .= '<a href="'.$url_product.'">'; for ($i=1; $i<=5; $i++) { if ($star >= $i) $stars[$p['id_product']] .= '<div class="star star_on"></div>'; else $stars[$p['id_product']] .= '<div class="star star_off"></div>'; } $stars[$p['id_product']] .= '('.$sum_votes.')</a>'; } } $this->smarty->assign(array( 'products' => $products, 'stars' => $stars, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize('home_default'), )); return $this->display(__FILE__, 'homefeatured.tpl'); } Luego en el homefeatured.tpl (en modules/homefeatured de tu tema p.ej), tienes esta nueva variable smarty stars p.ej <div class="featured_box"> <h5><a class="product_link" href="{$product.link}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:28:'...'|escape:'htmlall':'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> {if $product.price_without_reduction != $product.price}<span class="price-drop-feacherd">{convertPrice price=$product.price_without_reduction}</span>{/if} <div class="star_content"> {if isset($stars[$product.id_product])} {$stars[$product.id_product]} {/if} </div> Esto se renderiza de forma que p.ej tenemos 4 estrellas con un link a los comentarios: Los estilos son una estrella llena o vacía de background, supongo que tu tema ya lo debe tener. Gracias por la información Enrique. Ciertamente yo interprete mal la guía. (Un 0 para Nadie) xD Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 22, 2013 Share Posted October 22, 2013 (edited) Gracias por la información Enrique. Ciertamente yo interprete mal la guía. (Un 0 para Nadie) xD Creo que tu adaptación de la guía esta ok. Quizás neoset ha entendido literalmente lo de editar /themes/default/modules/homefeatured/homefeatured.tpl y no lo ha hecho en su tema que es donde le tocaría hacerlo? O quizás no ha reinstalado el módulo productcomments para que registre el nuevo hook? Edited October 22, 2013 by Enrique Gómez (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted October 22, 2013 Share Posted October 22, 2013 Creo que tu adaptación de la guía esta ok. Quizás neoset ha entendido literalmente lo de editar /themes/default/modules/homefeatured/homefeatured.tpl y no lo ha hecho en su tema que es donde le tocaría hacerlo? En realidad la adaptación que hice ni la he probado, fui pegando trozos del post de nemo en el foro, por lo que no descarto que en la adaptación haya algo maligno, porque ni la he probado. Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 22, 2013 Share Posted October 22, 2013 Seguramente falta que reinstale el módulo... Es lo único que creo que falta en tu adaptación. Reset or install the module, Link to comment Share on other sites More sharing options...
nadie Posted October 22, 2013 Share Posted October 22, 2013 Seguramente falta que reinstale el módulo... Es lo único que creo que falta en tu adaptación. Ummmmm Bueno, acabo de probar la adaptación que puse arriba, y salen las estrellas, pero no se ponen amarillas cuando votas. (ummm) Link to comment Share on other sites More sharing options...
nadie Posted October 22, 2013 Share Posted October 22, 2013 Voy a probar tu adaptación Enrique ) Saludos, Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 22, 2013 Share Posted October 22, 2013 (edited) Ninguna de las dos formas permite votar.... sólo lo muestra, en mi caso existe un link que te envía a la sección de comentarios. Pero vamos que es meramente informativo. Edited October 22, 2013 by Enrique Gómez (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted October 22, 2013 Share Posted October 22, 2013 Ninguna de las dos formas permite votar.... sólo lo muestra, en mi caso existe un link que te envía a la sección de comentarios. Pero vamos que es meramente informativo. Cierto, tiene toda su logica, ya que las votaciones se hacen al escribir el comentario del producto. xD Pues entonces si me aparecían las estrellas... ¿Entonces neoset, dijo que no se le veian las estrellas o que no podia votar desde las estrellas? Link to comment Share on other sites More sharing options...
nadie Posted October 22, 2013 Share Posted October 22, 2013 Pues llevo tiempo intentandolo y no a funcionado de todas maneras gracias. Tambien e intentado hacer lo que dice este post http://nemops.com/prestashop-product-rating-product-list/ pero tampoco me funciona. Lo ideal seria ponerlo tanto en productos destacados como en la lista de productos pero nada ni en uno ni en otro. ¿Ejecutastes el flush compile: http://www.prestashop.com/forums/topic/238282-modulo-flush-caches-compile-ps15/ para limpiar tanto cache smarty como compile smarty? ¿No te aparecen las estrellas o es otra cosa? Link to comment Share on other sites More sharing options...
neoset Posted October 23, 2013 Author Share Posted October 23, 2013 ¿Ejecutastes el flush compile: http://www.prestashop.com/forums/topic/238282-modulo-flush-caches-compile-ps15/ para limpiar tanto cache smarty como compile smarty? ¿No te aparecen las estrellas o es otra cosa? Perdonad por la tardanza en contestar, sí, he ejecutado el flush compile y tambien he reinstalado el modulo productcomments (desinstalar y volver a instalar) aun asi a mi no me a funcionado ninguna de las 2 versiones (version de nadie y version de Enrique Gómez) y es que no se me dan bien estas cosas, sigo los pasos al pie de la letra pero al final la pagina del front me sale en blanco. Coloco paso a paso lo que he hecho y asi haber si dais con mi fallo: Version de Enrique Gómez- Version de Prestashop 1.5.6 en local, version limpia instalada especialmente para este proposito con el tema por defecto (default), sin ningun otro tema, Forzar compilacion y usar cache (desactivado). 1- Instalo el modulo Comentario sobre el producto (productcomments) 2- Me voy directo a prestashop/modules/homefeatured/homefeatured.php y cambio el hook DisplayHome dejandolo como pone en las instrucciones, sobreescribiendo desde: public function hookDisplayHome($params) incluido, asta public function hookAddProduct($params) no incluido. Hasta aqui el front funciona perfectamente pero desde este paso creo que es donde no consigo ubicar la nueva variable. 3- Luego me voy a prestashop/themes/default/modules/homefeatured/homefeatured.tpl y añado la variable smarty: <div class="featured_box"> <h5><a class="product_link" href="{$product.link}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:28:'...'|escape:'htmlall':'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> {if $product.price_without_reduction != $product.price}<span class="price-drop-feacherd">{convertPrice price=$product.price_without_reduction}</span>{/if} <div class="star_content"> {if isset($stars[$product.id_product])} {$stars[$product.id_product]} {/if} </div> Justo despues de <!-- MODULE Home Featured Products --> con un salto de linea. He intentado ponerla en medio, al principio y al final pero nada me sale el front como pagina en blanco. 4- Luego paso el flush compile y reinstalo (desinstalar y volver a instalar) incluso lo he reiniciado el modulo Comentario sobre el producto (productcomments) pero la pagina del fron office me sigue en todos los casos saliendo en blanco. *Dejo los 2 archivos modificados para que veais cual es el fallo. *Uno se llama homefeatured.php y el otro es el .tpl pero dentro de un php porque no habia manera de subir el .tpl, es el homefeatured.tpl.php Muchisimas gracias por la paciencia y perdonad por las molestias. homefeatured.php homefeatured.tpl.php Link to comment Share on other sites More sharing options...
neoset Posted October 24, 2013 Author Share Posted October 24, 2013 Dejo toda la información haber si podeis echarle un vistazo rapido y veis en que he fallado. Muchas gracias. Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 26, 2013 Share Posted October 26, 2013 (edited) Le hecho un vistazo Edit. El problema es el tpl. Lo de la estrella hay que ponerlo dentro de el bucle. pej debajo de el nombre del producto. P.ej <!-- MODULE Home Featured Products --> <div id="featured-products_block_center" class="block products_block clearfix"> <p class="title_block">{l s='Featured products' mod='homefeatured'}</p> {if isset($products) AND $products} <div class="block_content"> {assign var='liHeight' value=250} {assign var='nbItemsPerLine' value=4} {assign var='nbLi' value=$products|@count} {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines} {math equation="nbLines*liHeight" nbLines=$nbLines|ceil liHeight=$liHeight assign=ulHeight} <ul style="height:{$ulHeight}px;"> {foreach from=$products item=product name=homeFeaturedProducts} {math equation="(total%perLine)" total=$smarty.foreach.homeFeaturedProducts.total perLine=$nbItemsPerLine assign=totModulo} {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if} <li class="ajax_block_product {if $smarty.foreach.homeFeaturedProducts.first}first_item{elseif $smarty.foreach.homeFeaturedProducts.last}last_item{else}item{/if} {if $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 1} {/if} {if $smarty.foreach.homeFeaturedProducts.iteration > ($smarty.foreach.homeFeaturedProducts.total - $totModulo)}last_line{/if}"> <a href="{$product.link|escape:'html'}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html'}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" />{if isset($product.new) && $product.new == 1}<span class="new">{l s='New' mod='homefeatured'}</span>{/if}</a> <p class="s_title_block"><a href="{$product.link|escape:'html'}" title="{$product.name|truncate:50:'...'|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></p> <div class="star_content"> {if isset($stars[$product.id_product])} {$stars[$product.id_product]} {/if} </div> <div class="product_desc"><a href="{$product.link|escape:'html'}" title="{l s='More' mod='homefeatured'}">{$product.description_short|strip_tags|truncate:65:'...'}</a></div> <div> <a class="lnk_more" href="{$product.link|escape:'html'}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a> {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}<div style="height:21px;"></div>{/if} {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_mode) 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->getPageLink('cart')|escape:'html'}?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='homefeatured'}</a> {else} <span class="exclusive">{l s='Add to cart' mod='homefeatured'}</span> {/if} {else} <div style="height:23px;"></div> {/if} </div> </li> {/foreach} </ul> </div> {else} <p>{l s='No featured products' mod='homefeatured'}</p> {/if} </div> <!-- /MODULE Home Featured Products --> Edited October 26, 2013 by Enrique Gómez (see edit history) 1 Link to comment Share on other sites More sharing options...
nadie Posted October 26, 2013 Share Posted October 26, 2013 ¿Te funciona ya neoset con la corrección que te ha indicado de Enrique Gómez? Link to comment Share on other sites More sharing options...
neoset Posted October 26, 2013 Author Share Posted October 26, 2013 (edited) Perfecto Enríque un 10 menuda máquina incluso trae enlace para ir directo a la pagina del producto pero hay un problema añadido y es que las estrellas me aparecen en gris todas como si no se hubiera votado o no copiara la media de la pagina del producto. Otro detalle minimo seria que me llevara directo a los comentarios con la pestaña abierta pero bueno ese es solo un pequeño detalle, lo que mas importancia tiene es que saque el grado medio, osea copie el grado medio que sale en la pagina del producto y se vean el numero de estrellas de color que corresponden. Eso mismo fue lo que dijo Victor que no salian en color, no es que vote desde ahi sino que de manera informativa no salen el numero de estrellas que corresponde, me explico: Si yo voto 2 veces en pagina del producto a un producto por ej. dandole 4 estrellas y 5 estrellas la media tendria que ser 4 estrellas y tendria que verse reflejada ademas de en la pagina de producto tambien en Productos destacados, pero solo salen las estellas en gris sin voto. Haber si puedes echarle un vistazo a eso. Muchisimas gracias Enríque. Edited October 26, 2013 by neoset (see edit history) Link to comment Share on other sites More sharing options...
Paula Martinez Posted October 26, 2013 Share Posted October 26, 2013 Vamos a seguir esta guía: http://nemops.com/prestashop-product-rating-product-list/ que esta preparada para el listado de productos, pero de igual modo sirve para los productos destacados con una pequeña adaptacion. 1º Paso que dice la guía. Ir al fichero: modules/productcomments/productcomments.php Buscar esto: public function install() { if (!file_exists(dirname(__FILE__).'/'.self::INSTALL_SQL_FILE)) return false; else if (!$sql = file_get_contents(dirname(__FILE__).'/'.self::INSTALL_SQL_FILE)) return false; $sql = str_replace(array('PREFIX_', 'ENGINE_TYPE'), array(_DB_PREFIX_, _MYSQL_ENGINE_), $sql); $sql = preg_split("/;\s*[\r\n]+/", trim($sql)); foreach ($sql as $query) if (!Db::getInstance()->execute(trim($query))) return false; if (parent::install() == false || !$this->registerHook('productTab') || !$this->registerHook('extraProductComparison') || !$this->registerHook('productTabContent') || !$this->registerHook('header') || !$this->registerHook('productOutOfStock') || !Configuration::updateValue('PRODUCT_COMMENTS_MINIMAL_TIME', 30) || !Configuration::updateValue('PRODUCT_COMMENTS_ALLOW_GUESTS', 0) || !Configuration::updateValue('PRODUCT_COMMENTS_MODERATE', 1)) return false; return true; } y dejarlo asi: public function install() { if (!file_exists(dirname(__FILE__).'/'.self::INSTALL_SQL_FILE)) return false; else if (!$sql = file_get_contents(dirname(__FILE__).'/'.self::INSTALL_SQL_FILE)) return false; $sql = str_replace(array('PREFIX_', 'ENGINE_TYPE'), array(_DB_PREFIX_, _MYSQL_ENGINE_), $sql); $sql = preg_split("/;\s*[\r\n]+/", trim($sql)); foreach ($sql as $query) if (!Db::getInstance()->execute(trim($query))) return false; if (parent::install() == false || !$this->registerHook('productTab') || !$this->registerHook('extraProductComparison') || !$this->registerHook('productTabContent') || !$this->registerHook('header') || !$this->registerHook('productOutOfStock') || !$this->registerHook('productosDestacados') || !Configuration::updateValue('PRODUCT_COMMENTS_MINIMAL_TIME', 30) || !Configuration::updateValue('PRODUCT_COMMENTS_ALLOW_GUESTS', 0) || !Configuration::updateValue('PRODUCT_COMMENTS_MODERATE', 1)) return false; return true; } Siguiente paso, editamos el fichero: /themes/default/modules/homefeatured/homefeatured.tpl Y añadimos esto: {hook h='productosDestacados' idproduct=$product.id_product} en la parte donde quieres que se impriman las estrellitas. Por ejemplo antes de : {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}<div style="height:21px;"></div>{/if} 3º Paso En el fichero: /modules/productcomments/productcomments.php Añada esto: public function hookProductosDestacados($params) { require_once(dirname(__FILE__).'/ProductComment.php'); require_once(dirname(__FILE__).'/ProductCommentCriterion.php'); $id_product = $params['idproduct']; $product_average = 0; $grades = ProductComment::getAveragesByProduct($id_product, $this->context->language->id); $criterions = ProductCommentCriterion::getByProduct($id_product, $this->context->language->id); $grade_total = 0; if (count($grades) > 0) { foreach ($criterions as $criterion) { if (isset($grades[$criterion['id_product_comment_criterion']])) { $grade_total += (float)($grades[$criterion['id_product_comment_criterion']]); } } $product_average = $grade_total / count($criterions); } $this->context->smarty->assign('average_total', (int)$product_average); return $this->display(__FILE__, '/destacados.tpl'); } --- Despues creamos en el directorio:: /modules/productcomments/ un fichero llamado: destacados.tpl Con este contenido: <div class="star_content clearfix"> {section name="i" start=0 loop=5 step=1} {if $smarty.section.i.index lt $average_total} <div class="star star_on"><a href=""></a></div> {else} <div class="star"><a href=""></a></div> {/if} {/section} </div> Ahora en el fichero: homefeatured.css Añades esto: #featured-products_block_center li .star_content { display: inline-block; margin-bottom: 10px; } Luego lógicamente en el mismo homfeatured.css tienes que ampliar la altura (height) del: #featured-products_block_center li ---- No me hago responsable de lo que pase y de si no funciona o dejar de funcionar. (Ni siquiera lo he probado) Muchas gracias Nadie ! Me aparecen las estrellas ! Saludos, Link to comment Share on other sites More sharing options...
neoset Posted October 26, 2013 Author Share Posted October 26, 2013 Muchas gracias Nadie ! Me aparecen las estrellas ! Saludos, ¿Pero te aparecen en color? ¿con los votos? Link to comment Share on other sites More sharing options...
Paula Martinez Posted October 26, 2013 Share Posted October 26, 2013 (edited) ¿Pero te aparecen en color? ¿con los votos? Al parecer no, aparecen en blanco y negro. xD Te adjunto los ficheros de la modificacion que dijo Nadie arriba. El productcomments.zip es el modulo completo de comentarios de productos modificados, metelo en el directorio del modulo el contenido y reinicia el modulo. Y el homefeatured.zip es el homefeatured.tpl, metelo en el directorio del homefeatured de tu plantilla. Pruebala tu, a ver si te salen los colores... productcomments.zip homefeatured.zip Edited October 26, 2013 by Raul Martinez (see edit history) Link to comment Share on other sites More sharing options...
neoset Posted October 27, 2013 Author Share Posted October 27, 2013 La unica manera en la que me aparecen las estrellas y pone el grado medio con su numero de estrellas en color es cuando uso el sistema de Enríque Gomez y luego sobreescribo los archivos que Raul Martinez pone, el problema es que sale sin el numero de comentarios y los productos que estan sin votar salen en gris osea estrellas en todos los productos y que parecen que son estrellas negativas. Lo que mas me convence y con diferencia es el sistema de Enríque en el que salen estrellas y numero de comentarios y que solo falta que arregle lo de mostrarse el grado medio de los comentarios.Ademas si no se vota un producto las estrellas se esconden que es como debe ser. Porfavor Enríque, Victor o alguien que pueda, solo arreglad lo del color de las estrellas que muestran el grado medio y la aportacion de Enríque es perfecta. Muchisimas gracias. Link to comment Share on other sites More sharing options...
nadie Posted October 27, 2013 Share Posted October 27, 2013 La unica manera en la que me aparecen las estrellas y pone el grado medio con su numero de estrellas en color es cuando uso el sistema de Enríque Gomez y luego sobreescribo los archivos que Raul Martinez pone, el problema es que sale sin el numero de comentarios y los productos que estan sin votar salen en gris osea estrellas en todos los productos y que parecen que son estrellas negativas. Lo que mas me convence y con diferencia es el sistema de Enríque en el que salen estrellas y numero de comentarios y que solo falta que arregle lo de mostrarse el grado medio de los comentarios.Ademas si no se vota un producto las estrellas se esconden que es como debe ser. Porfavor Enríque, Victor o alguien que pueda, solo arreglad lo del color de las estrellas que muestran el grado medio y la aportacion de Enríque es perfecta. Muchisimas gracias. Yo ya he abandonado el foro y el mundo de Prestashop, como comente aquí: http://www.prestashop.com/forums/topic/282730-comunicado-de-despedida-de-la-comunidad-por-parte-del-usuario-nadie/?view=findpost&p=1422288 por lo tanto ya no puedo revisar estos temas, lo dejo todo en manos de Enrique Gómez, Un saludo y disculpa las molestias ocasionadas. 2 Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 27, 2013 Share Posted October 27, 2013 (edited) Probado en ps1541, falta el tema de css para que se muestre activa o no la estrella, por lo que puedes añadir en productcomments.css (en principio no esta sobrescrito en el tema por defecto por lo que esta en la carpeta del módulo) p.ej después de #product_comments_block_extra div.star_on {background: url(img/star.gif) no-repeat scroll 0 -12px transparent} pones esta otra regla .star_content div.star_on {background-position: 0 -12px } Edited October 27, 2013 by Enrique Gómez (see edit history) 1 Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 27, 2013 Share Posted October 27, 2013 Lo único que he visto a vote pronto es que los cálculos los hace aunque no este validado el comentario desde el back office. Se puede modificar añadiendo a la consulta sql el filtro validate de forma que quedan: $query_sum = 'SELECT COUNT(*) as sum FROM '._DB_PREFIX_.'product_comment WHERE validate AND id_product = '.$p['id_product']; $sum_votes = Db::getInstance()->getValue($query_sum); $query_grades = 'SELECT SUM(grade) as grades FROM '._DB_PREFIX_.'product_comment WHERE validate AND id_product = '.$p['id_product']; 1 Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 27, 2013 Share Posted October 27, 2013 Por último para que se abra el tab en el tema default, en product.tpl añade al principio de la sección de javascript en <script type="text/javascript"> // <![CDATA[ éste código: $(document).ready(function() { if(window.location.hash === '#idTab5') { $("#more_info_tabs").idTabs("idTab5"); } }); 1 Link to comment Share on other sites More sharing options...
neoset Posted October 27, 2013 Author Share Posted October 27, 2013 Yo ya he abandonado el foro y el mundo de Prestashop, como comente aquí: http://www.prestashop.com/forums/topic/282730-comunicado-de-despedida-de-la-comunidad-por-parte-del-usuario-nadie/?view=findpost&p=1422288 por lo tanto ya no puedo revisar estos temas, lo dejo todo en manos de Enrique Gómez, Un saludo y disculpa las molestias ocasionadas. ¿Molestias?, por favor Victor seras siempre un referente en Prestashop aunque te retires, nunca podremos agradecerte todo lo que has echo por la comunidad, de tu mano hay una ingente cantidad de soluciones a multitud de problemas estan repartidas por toda la web, ha sido un placer y un gran honor haber contado contigo en Prestashop. Gracias por todo. 1 Link to comment Share on other sites More sharing options...
neoset Posted October 27, 2013 Author Share Posted October 27, 2013 Lo único que he visto a vote pronto es que los cálculos los hace aunque no este validado el comentario desde el back office. Se puede modificar añadiendo a la consulta sql el filtro validate de forma que quedan: $query_sum = 'SELECT COUNT(*) as sum FROM '._DB_PREFIX_.'product_comment WHERE validate AND id_product = '.$p['id_product']; $sum_votes = Db::getInstance()->getValue($query_sum); $query_grades = 'SELECT SUM(grade) as grades FROM '._DB_PREFIX_.'product_comment WHERE validate AND id_product = '.$p['id_product']; Perfecto, funciona! Grandisimo aporte y de grandisima calidad. He llegado asta este punto solo queda probar haber si soy capaz de abrir la consulta sql y que salga todo bien. Muchisimas gracias Enríque, gracias por tu tiempo y todo un honor contar con tu ayuda. Link to comment Share on other sites More sharing options...
neoset Posted October 27, 2013 Author Share Posted October 27, 2013 (edited) Bien, esta es la recta final ya queda poco, e intentado añadir a la consulta sql el filtro directamente a la base de datos llamada gomdb de la tienda de prueba y me sale esto, me da error y creo que no lo añade: Por ultimo en lo referente a esto: Por último para que se abra el tab en el tema default, en product.tpl añade al principio de la sección de javascript en <script type="text/javascript"> // <![CDATA[ éste código: $(document).ready(function() { if(window.location.hash === '#idTab5') { $("#more_info_tabs").idTabs("idTab5"); } }); Supongo que quedaria asi: En prestashop/themes/default/product.tpl añadimos lo anterior quedando asi: <script type="text/javascript"> $(document).ready(function(){ if(window.location.hash === '#idTab5') { $("#more_info_tabs").idTabs("idTab5"); }});// <![CDATA[ Muchas gracias y perdon por las molestias. Edited October 27, 2013 by neoset (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted October 27, 2013 Share Posted October 27, 2013 Bien, esta es la recta final ya queda poco, e intentado añadir a la consulta sql el filtro directamente a la base de datos llamada gomdb de la tienda de prueba y me sale esto, me da error y creo que no lo añade: Enrique se refiere a modificar el fichero: homefeatured.php no ha introducir nada desde gestor grafico de bases de datos como has realizado segun veo en la imagen. Link to comment Share on other sites More sharing options...
nadie Posted October 27, 2013 Share Posted October 27, 2013 Por ultimo en lo referente a esto: Supongo que quedaria asi: En prestashop/themes/default/product.tpl añadimos lo anterior quedando asi: <script type="text/javascript"> $(document).ready(function() { if(window.location.hash === '#idTab5') { $("#more_info_tabs").idTabs("idTab5"); } }); // <![CDATA[ Muchas gracias y perdon por las molestias. Te adjunto Imagen Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 27, 2013 Share Posted October 27, 2013 (edited) Enrique se refiere a modificar el fichero: homefeatured.php no ha introducir nada desde gestor grafico de bases de datos como has realizado segun veo en la imagen. Efectivamente el archivo homefeatured.php se le modifica la consulta original de forma que ahora queda 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)); $link = new Link(); foreach ($products as $p) { $query_sum = 'SELECT COUNT(*) as sum FROM '._DB_PREFIX_.'product_comment WHERE validate AND id_product = '.$p['id_product']; $sum_votes = Db::getInstance()->getValue($query_sum); $query_grades = 'SELECT SUM(grade) as grades FROM '._DB_PREFIX_.'product_comment WHERE validate AND id_product = '.$p['id_product']; $grades = Db::getInstance()->getValue($query_grades); if ($sum_votes > 0) $star = floor($grades / $sum_votes); else $star = 0; if ($star > 0) { $url_product = $link->getProductLink($p['id_product']).'#idTab5'; $stars[$p['id_product']] .= '<a href="'.$url_product.'">'; for ($i=1; $i<=5; $i++) { if ($star >= $i) $stars[$p['id_product']] .= '<div class="star star_on"></div>'; else $stars[$p['id_product']] .= '<div class="star star_off"></div>'; } $stars[$p['id_product']] .= '('.$sum_votes.')</a>'; } } $this->smarty->assign(array( 'products' => $products, 'stars' => $stars, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize('home_default'), )); return $this->display(__FILE__, 'homefeatured.tpl'); } Queda igual excepto que a la consulta se le añade validate AND Edited October 27, 2013 by Enrique Gómez (see edit history) 1 Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 27, 2013 Share Posted October 27, 2013 Por ultimo en lo referente a esto: Supongo que quedaria asi: En prestashop/themes/default/product.tpl añadimos lo anterior quedando asi: <script type="text/javascript"> $(document).ready(function() { if(window.location.hash === '#idTab5') { $("#more_info_tabs").idTabs("idTab5"); } }); // <![CDATA[ Muchas gracias y perdon por las molestias. Bueno mejor ponlo después del CDATA aunque creo que da igual: <script type="text/javascript"> // <![CDATA[ $(document).ready(function() { if(window.location.hash === '#idTab5') { $("#more_info_tabs").idTabs("idTab5"); } }); 1 Link to comment Share on other sites More sharing options...
nadie Posted October 27, 2013 Share Posted October 27, 2013 Bueno mejor ponlo después del CDATA aunque creo que da igual: <script type="text/javascript"> // <![CDATA[ $(document).ready(function() { if(window.location.hash === '#idTab5') { $("#more_info_tabs").idTabs("idTab5"); } }); Yo lo he probado, como he adjuntado en mi imagen de arriba http://www.prestashop.com/forums/topic/282419-estrellas-de-valoracion-en-destacados-de-la-home/?view=findpost&p=1435429 , y en principio se lo ha tragado. 1 Link to comment Share on other sites More sharing options...
neoset Posted October 28, 2013 Author Share Posted October 28, 2013 Absolutamente brillante, cumple con todo, muestra las estrellas, muestra el numero de comentarios, saca las medias perfectamente coincidiendo con las de la pagina de producto e incluso cuando pincho en las estrellas que son un enlace, me llevan directamente a la pestaña de comentarios. Si os parece bien y con vuestro permiso doy el tema como solucionado. Estaria bien este aporte en la seccion de indice aportes por si alguien decide adaptarlo a un modulo y ponerlo en mas secciones aparte de productos destacados. Muchas gracias Enríque y Victor por vuestra ayuda con gente asi da gusto sobre todo por el buen rollo, compañerismo y la gran comunidad que rodea este CMS. Link to comment Share on other sites More sharing options...
neoset Posted October 28, 2013 Author Share Posted October 28, 2013 ¿Si quisieramos adaptar este metodo a la Lista de Productos seria complejo o solo seria cambiar 4 cosas? No estaria mal adaptarlo si solo hay que cambiar poca cosa asi se aprovecha el codigo ya generado. Hay una guia en ingles pero le faltan el numero de comentarios, el enlace a comentarios y cuando no se ha votado salen las estrellas en gris. Muchas gracias. 1 Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 29, 2013 Share Posted October 29, 2013 (edited) A mi me gusta más la estrategia del artículo de Nemo que Víctor comentaba. Mas que nada no te obliga a sobrescribir nada. Yo tengo sobrescrito la clase CategoryController en la carpeta override/controllers/front (recordar borrar cache/class_index.php para que coja las nuevas clases sobrescritas). Es una sobrescritura muy limpia eso sí: <?php /*{* egp mod premodificaciones imagenes en categoria y estrellitas *}*/ class CategoryController extends CategoryControllerCore { public function initContent() { parent::initContent(); $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)); $link = new Link(); foreach ($products as $p) { $query_sum = 'SELECT COUNT(*) as sum FROM '._DB_PREFIX_.'product_comment WHERE validate AND id_product = '.$p['id_product']; $sum_votes = Db::getInstance()->getValue($query_sum); $query_grades = 'SELECT SUM(grade) as grades FROM '._DB_PREFIX_.'product_comment WHERE validate AND id_product = '.$p['id_product']; $grades = Db::getInstance()->getValue($query_grades); if ($sum_votes > 0) $star = floor($grades / $sum_votes); else $star = 0; if ($star > 0) { $url_product = $link->getProductLink($p['id_product']).'#idTab5'; $stars[$p['id_product']] .= '<a href="'.$url_product.'">'; for ($i=1; $i<=5; $i++) { if ($star >= $i) $stars[$p['id_product']] .= '<div class="star star_on"></div>'; else $stars[$p['id_product']] .= '<div class="star star_off"></div>'; } $stars[$p['id_product']] .= '('.$sum_votes.')</a>'; } } $this->context->smarty->assign(array( 'stars' => $stars )); } } La idea es exactamente la misma. Ahora tenemos disponible en la plantilla la nueva variable smarty stars de forma que añadimos el div a product-list.tpl dentro del bucle for p.ej en el tema default <div class="center_block"> <a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"> <img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html'}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /> {if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if} </a> <h3>{if isset($product.pack_quantity) && $product.pack_quantity}{$product.pack_quantity|intval|cat:' x '}{/if}<a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h3> <div class="star_content"> {if isset($stars[$product.id_product])} {$stars[$product.id_product]} {/if} </div> <p class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}" >{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}</a></p> </div> Edited October 29, 2013 by Enrique Gómez (see edit history) 1 Link to comment Share on other sites More sharing options...
neoset Posted October 29, 2013 Author Share Posted October 29, 2013 Me perdi en algunas cosas. Si voy a la carpeta prestashop/override/controllers/front solo me encuentro un unico archivo index.php, no encuentro ninguna referencia a CategoryController. Como tendria que hacer para borrar en prestashop/cache/class_index.php ese archivo class_index.php, supongo que tendra que ser borrar algo en particular para que me reconozca las nuevas clases. Y por ultimo esto creo que lo tengo claro, en la carpeta prestashop/themes/default/product-list.tpl tu dices añadir pero supongo que es sobreescribir el div <div class="center_block"> por el que hay arriba. Perdona y te agradezco mucho la paciencia infinita que tienes. Un saludo. Link to comment Share on other sites More sharing options...
nadie Posted October 29, 2013 Share Posted October 29, 2013 Me perdi en algunas cosas. Si voy a la carpeta prestashop/override/controllers/front solo me encuentro un unico archivo index.php, no encuentro ninguna referencia a CategoryController. Claro, porque el fichero tienes que crearlo tu en tu ordenador con el contenido que te ha dicho Enrique y meterlo ahí. Como tendria que hacer para borrar en prestashop/cache/class_index.php ese archivo class_index.php, supongo que tendra que ser borrar algo en particular para que me reconozca las nuevas clases. Eliminas el fichero directamente, lo mandas al otro mundo. (No te preocupes, porque el fichero se regenera, como dice Enrique, es para que prestashop te reconozca el nuevo override) Vamos que elimines el fichero ) 1 Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 29, 2013 Share Posted October 29, 2013 te paso el fichero 1 Link to comment Share on other sites More sharing options...
neoset Posted October 30, 2013 Author Share Posted October 30, 2013 Funciona perfectamente, supongo que no habra ningun problema en usar en produccion por los cambios tan complejos en el codigo de prestashop, por eso que has dicho de que el articulo de Nemo no te obliga a sobreescribir nada y este si sobreescribe. He hecho unas cuantas pruebas y no ha dado fallo de ningun tipo y la velocidad de recarga de la tienda se mantiene. Muchisimas gracias de nuevo y ahora si doy el tema como solucionado que menudo aportazo, esto era algo muy necesario que faltaba en Prestashop. Link to comment Share on other sites More sharing options...
Enrique Gómez Posted October 30, 2013 Share Posted October 30, 2013 Funciona perfectamente, supongo que no habra ningun problema en usar en produccion por los cambios tan complejos en el codigo de prestashop, por eso que has dicho de que el articulo de Nemo no te obliga a sobreescribir nada y este si sobreescribe. He hecho unas cuantas pruebas y no ha dado fallo de ningun tipo y la velocidad de recarga de la tienda se mantiene. Muchisimas gracias de nuevo y ahora si doy el tema como solucionado que menudo aportazo, esto era algo muy necesario que faltaba en Prestashop. En absoluto da ningún problema, la mayoría de tiendas tienen algún módulo o "modificación" con varias clases sobrescritas. El único problema es que hay que tenerlo en cuenta para actualizaciones y demás. Link to comment Share on other sites More sharing options...
nadie Posted October 30, 2013 Share Posted October 30, 2013 Funciona perfectamente, supongo que no habra ningun problema en usar en produccion por los cambios tan complejos en el codigo de prestashop, por eso que has dicho de que el articulo de Nemo no te obliga a sobreescribir nada y este si sobreescribe. He hecho unas cuantas pruebas y no ha dado fallo de ningun tipo y la velocidad de recarga de la tienda se mantiene. Muchisimas gracias de nuevo y ahora si doy el tema como solucionado que menudo aportazo, esto era algo muy necesario que faltaba en Prestashop. Como veo que en el titulo del tema ha sido añadido la palabra "Solucionado", procedo a cerrar el tema definitivamente, no tengo nada mas que añadir, a lo que ya te ha comentado Enrique Gomez. Link to comment Share on other sites More sharing options...
Recommended Posts