Jump to content

paginación productos más vendidos


frankio

Recommended Posts

 

Buenas a todos,

¿alguien sabe como funciona el módulo de los productos más vendidos? Me ha creado prestashop unas 5 páginas en la sección de los productos más vendidos.

Me gustaría saber si se puede reducir para que sólo se muestren los 24 más vendidos. Que la página www.tutienda.es/mas-vendidos sólo aparezcan dos páginas de los productos más vendidos, por ejemplo. (el resto de páginas, creo que es un poco tontería tenerlas)

 

Gracias y espero alguna sugerencia

Link to comment
Share on other sites

Gracias por contestar,

 

ya, pero en el módulo de los productos más vendidos puedes indicar el número que quieres que se muestren en el bloque de productos más vendidos que pongas por ej. en la home.

 

Pero lo que yo quiero es limitar el total de productos más vendidos de mi página www.tutienda.es/mas-vendidos

Link to comment
Share on other sites

Buenas, en la clase ProductSale.php:

public static function getBestSales($id_lang, $page_number = 0, $nb_products = 10, $order_by = null, $order_way = null)
    {
        AÑADE=> $nb_products = XX;
        $context = Context::getContext();
        if ($page_number < 0) {
            $page_number = 0;
        }

Donde pone XX, pon el número de productos que quieres que salga. Eso sí, saldrá el mismo número en todos los listados de Mejores Ventas.

Ah! Tienes que borra cache, class_index, etc...

 

Saludos!

Link to comment
Share on other sites

Gracias por contestar.

 

Lo he probado y no es lo que quería ya que así limito el número de productos por página pero me siguen saliendo las 5 páginas de productos más vendidos. Y lo quería es no tener tantas páginas, es decir, paginación en los productos más vendidos.

Link to comment
Share on other sites

Buenas, tienes razón se me pasó esa parte, en:

public static function getNbSales()
    {
        $sql = 'SELECT COUNT(ps.`id_product`) AS nb
				FROM `'._DB_PREFIX_.'product_sale` ps
				LEFT JOIN `'._DB_PREFIX_.'product` p ON p.`id_product` = ps.`id_product`
				'.Shop::addSqlAssociation('product', 'p', false).'
				WHERE product_shop.`active` = 1';
        //return (int)Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($sql);
        return XX;
    }

Lo pones así. Saludos

Link to comment
Share on other sites

Muchas gracias,
 
no doy con la solución que me comentas.
 
Finalmente he dado con la solución así:
 
Dentro de la carpeta controllers de Prestashop,  BestSalesController.php. En él tenemos definida una variable

$nbProducts =(int)(ProductSale::getNbSales());

Si la cambiamos y ponemos un número fijo, ese será el número de productos que nos enseñe.

$nbProducts = 10;//(int)(ProductSale::getNbSales());

 

 

Mil gracias por todo

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...