Mostrar precios Rebajados y sin rebajar en los listados de Prestashop

Muchas veces por tema de diseño web nos hemos encontrado con la dificultad que necesitamos ver en los listados de los productos los precios sin rebajar, normalmente aparece tachado, y los precios actuales que están rebajados sin tachar , ya que es el precio final, realizar esto en Prestashop es un poco complejo.

20 Ene 2011

Muchas veces por tema de diseño web nos hemos encontrado con la dificultad que necesitamos ver en los listados de los productos los precios sin rebajar,  normalmente aparece tachado, y los precios actuales que están rebajados sin tachar , ya que es el precio final, realizar esto en Prestashop es un poco complejo.

Os dejo como conseguí solucionar este problema, tenemos que abrir el archivo del tema donde se muestran los productos, en nuestro caso product_list.tpl, retirar los precios antiguos para que no se mezcle con el núevo código.

Con este código consiguiréis mostrar en Prestashop, el precio antiguo, el precio actual (el rebajado) y el porcentaje de descuento que se le aplica.

        {if ($product.reduction_price != 0 || $product.reduction_percent != 0) && ($product.reduction_from == $product.reduction_to OR ($smarty.now|date_format:'%Y-%m-%d' <= $product.reduction_to && $smarty.now|date_format:'%Y-%m-%d' >= $product.reduction_from))}{assign var='special' value='1'}{else}{assign var='special' value='0'}{/if}                       

{if !$priceDisplay || $priceDisplay == 2}

{l s='Precio:'} {if $special}{if $product.reduction_price != 0}{convertPrice price=$product.price+$product.reduction_price}{elseif $product.reduction_percent != 0}{math assign='product_price' equation='p / (1 - (r / 100))' p=$product.price r=$product.reduction_percent}{convertPrice price=$product_price}{/if}{/if}{convertPrice price=$product.price}{if $priceDisplay == 2} {l s='+Tx'}{/if} {if $special}({if $product.reduction_price != 0}{math equation='round((r / (p + r)) * 100)' p=$product.price r=$product.reduction_price}%{elseif $product.reduction_percent != 0}{$product.reduction_percent|floatval}%{/if}){/if}
{/if} {if $priceDisplay}
{l s='Precio:'} {if $special}{if $product.reduction_price != 0}{convertPrice price=$product.price_tax_exc+$product.reduction_price}{elseif $product.reduction_percent != 0}{convertPrice price=$product.price_tax_exc+$product.reduction_price}{elseif $product.reduction_percent != 0}{math assign='product_price' equation='p / (1 - (r / 100))' p=$product.price_tax_exc r=$product.reduction_percent}{convertPrice price=$product_price}{/if}{/if}{convertPrice price=$product.price_tax_exc}{if $priceDisplay == 2} {l s='-Tx'}{/if}{if $special}
{if $product.reduction_price != 0}{math equation='round((r / (p + r)) * 100)' p=$product.price r=$product.reduction_price}%{elseif $product.reduction_percent != 0}{$product.reduction_percent|floatval}%{/if}
{/if}
{/if}
Deja un comentario

12 comentarios
  1. Hola
    Estoy trabajando con prestashop 1.3.7 en local y intento modificar el código del archivo product_list.tpl, pero me desaparece toda la columna right de la tienda y los productos. Donde exactamente debo pegar el codigo php. en el archivo product_list.tpl.
    Gracias
    Un saludo

  2. Muy buenas.
    Gracias por el post, peor yo tengo el mismo problema que Balzai.
    Dónde exactamente se ha de colocar el código para que funcione?
    Y una vez colocado correctamente los precios se añadirían en el Panel de control?

  3. Lo siento, pero creo que debéis intentarlo en el post lo tenéis explicado con mucho detalle…

  4. Necesito realizar eso, puedo tocar las páginas, pero de qué método aplicaste el descuento?

    Utilizando descuentos por grupos de clientes o a través de precios específicos en cada producto?

    Muchas gracias,

    Facundo.

  5. Comento el codigo que mostraba el precio anteriormente y pego este codigo y no muestra nada, sale en blanco. Uso prestashop 1.4.3

    Saludos.

  6. A los que os pasan cosas raras al pegar ese codigo, si lo pegas directamente da error por el && y otras cosas. Hay que usar la opción “Ver código PHP” y pegar ese código, no el otro. Salu2.

  7. Ahh, se me olvidaba… muchas gracias por el código!!

  8. Hola, gracias por el código. Lo he provado siguiendo escrupulosamente las instrucciones, pero solo consigo que salga el precio rebajado. El precio anterior a realizar la oferta no me aparece. Agradecería alguna pista más.
    Utilizo la versión 1.4.4.1
    Gracias

  9. Excelente, funciona de 10. Es un poco lioso para el que no este acostumbrado a la programación de Prestashop pero vale la pena echarle un ojo al archivo.

  10. Tengo un par de dudas. Mi archivo product_list.tpl no contiene precios. Entiendo que debería copiar y pegar vuestro código al final del documente antes del . Depues de realizar lo, no se consigue nada…
    En el caso si quisiera reflejar un cantidad en vez de porcentaje que debería modificar? Gracias

  11. buenas, sabeis si funciona para ps 1.5?
    gracias por el codigo 😉

  12. no