Ordenar productos por descuento primero

Ordenar productos por descuento primero

0vote
1 2 3 4 5
Thank you for vote this article

Muchas veces vemos en nuestra tienda online cuando se listan los productos que el orden que presentan es el según vamos subiendo los artículos. En muchas ocasiones podemos ver la necesidad de que los artículos que tienen un descuento se tienen que presentar en los primeros puestos de la lista. Modificando una serie de líneas de código podemos conseguir tal efecto.

En este ejemplo podemos ver como los descuentos salen dispersos en la categoría.

ordenar descuentos primero en prestashop

 

Primero accederemos al fichero: classes/category.php.

Ahí dentro buscamos la función getProducts.  Al final del todo comentamos la línea:
return Product::getProductsProperties($id_lang, $result);

Y añadimos:

if ($order_by == "position")

                   usort($descuentosprimero, array("Category", "descuentos")); //sorting by the parameter 'reduction'

                                

           return $descuentosprimero; // returning the modified result

 

También añadimos  la siguiente función:

public static function descuentos($a, $b) {

                    if ($a['reduction'] == $b['reduction']) {

                        return 0;

                    }

 

                    return ($a['reduction'] > $b['reduction']) ? -1 : 1;

   }

 

Y ya lo tenemos, ahora cada vez que se visualicen los productos se van a ordenar con los descuentos primero.
ordenar descuentos primero en prestashop ejemplo 

Comments

  • Avatar

    papasmar says :

    2014-12-02 20:05:38

    hola buenas! y no hay que hacer nada mas? es que sigo todos los pasos y cuando entro en el front para ver los cambios no carga la pagina.

Leave a comment

Enter your name
Fill up your name
Fill up your email, we'll never public your email.
Fill up your website
Enter your comment
Enter captcha code above

¡Lo más vendido!