ambge Posted April 24, 2013 Share Posted April 24, 2013 Buenos días a tod@s, leyendo vuestro foro conseguí solucionar parte de un problema que tenía (editando product-list.tpl). Era incluir la palabra "Desde" delante de los productos con combinaciones. Hasta ahí todo correcto. El problema me surge cuando tengo productos con combinaciones que no tienen impacto en el precio. La palabra "Desde" sigue apareciendo. ¿Hay algún modo de recuperar una variable con el impacto en el precio para incluir "Desde" dependiendo del valor de esta variable? Muchas gracias de antemano. Link to comment Share on other sites More sharing options...
ambge Posted April 30, 2013 Author Share Posted April 30, 2013 Ya lo he conseguido. Siguiendo el consejo de rferrero, hice lo siguiente: Modificar el fichero controllers\front\CategoryController.php En la linea 200, foreach ($this->cat_products as &$product) { if ($product['id_product_attribute'] && isset($product['product_attribute_minimal_quantity'])) $product['minimal_quantity'] = $product['product_attribute_minimal_quantity']; //Incluir esto para conocer el número de atributos del producto $sql1= 'SELECT count(id_product_attribute) FROM ps_product_attribute where id_product ='.$product['id_product']; $num = Db::getInstance()->getValue($sql1); $product['numAttrib'] = $num; //I Esto lo he añadido yo Incluir esto para conocer el impacto en el precio de atributos del producto $sql2= 'SELECT sum(price) FROM ps_product_attribute where id_product ='.$product['id_product']; $price = Db::getInstance()->getValue($sql2); $product['priceAttrib'] = $price; } De este modo recuperamos el número de atributos del producto y el impacto en el precio de esos atributos. En el fichero product-list.tpl Si queremos incluir la palabra "Desde" en los productos que tienen atributos: {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if ($product.id_product_attribute)}{l s='Desde '}{/if}{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if} Si queremos incluir la palabra "Desde" en los productos que tienen un número mayor que X de atributos: {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if ($product.id_product_attribute) && ($product.numAttrib> 0)}{l s='Desde '}{/if}{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if} Si queremos incluir la palabra "Desde" en los productos que tienen atributos con impacto en el precio: {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if ($product.id_product_attribute) && ($product.priceAttrib > 0)}{l s='Desde '}{/if}{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if} 1 Link to comment Share on other sites More sharing options...
Recommended Posts