Jump to content

Ayuda para mostrar productos de subcategorías en categoría padre.


emiliorore

Recommended Posts

Hola,

 

Tengo una web en PrestaShop y tengo un catálogo muy grande (+ de 4000 productos), la cuestión es que estos productos están ordenados en:

 

-- Categoría padre (Vacía)

----- Subcategoría 1 (Con productos)

----- Subcategoría 2 (Con productos)

----- Subcategoría 3 (Con productos)

----- Y el resto de subcategorías...

 

Lo que quiero es que al entrar en la categoría padre en lugar de poner que no hay productos y mostrar las subcategorías se muestren estas, y también todos los productos de todas ellas.

 

Sé que marcándolo a mano saldría, pero esto supondría el engorro de estar siempre marcando todos los productos, lo que necesito es algo para mostrar automáticamente los productos de todas las subcategorías.

 

Muchas gracias por todo.

Un saludo. Emilio Rodriguez.

Link to comment
Share on other sites

No puedo hacer eso debido a que importo mi catalogo desde un xml y cada vez que quien me pasa el catalogo hace una modificación aunque haya puesto a mano más de 4000 productos en la categoría padre, se actualiza todo y vuelven a no aparecer.

 

Lo que necesito es algún tipo de módulo que haga que se muestren en las categorias padre los productos de todas las subcategorías, así el cliente puede ver todos los productos de una categoría y luego para concretar más acceder a las subcategorías.

  • Like 1
Link to comment
Share on other sites

Muchas gracias por tu respuesta KristianMM pero no me sirve debido a que no puedo solicitar a la empresa que me envia el xml que lo cambien y si lo hiciera yo a mano debería de hacerlo los 7 días a la semana, es decir, cambiar 4000 productos de categoría cada día...

 

Busco algún tipo de módulo que muestre todos los productos de las subcategorías en la categoría padre.

  • Like 1
Link to comment
Share on other sites

Pero eso lo tendrías que hacer posterior a importar los productos no?

Que yo conozca no hay ningún modulo que lo haga, pero no creo que fuera dificil hacer uno con un botoncito que lo hiciera...

Pero claro requiere tiempo jeje

 

Siento no poder ayudar más :(

Link to comment
Share on other sites

  • 4 months later...
  • 1 year later...

En ésta página te dan dos soluciones, o tocar código o activar el módulo Layered Navigation Module (blocklayered).

 

http://stackoverflow.com/questions/11874191/prestashop-display-products-from-childcategories-if-parent-category-is-empty

 

 

Open /controllers/CategoryController.php and add the below code to the process()method, notice the comments telling you where to start and end adding code

public function process()
{
....
}
if ($this->category->id != 1)
$this->productListAssign();

/* MODIFICATION STARTS HERE */
if(!(isset($this->cat_products) AND $this->cat_products) ){
$this->category->id=array();
foreach($subCategories as $k=>$v){
$this->category->id[]=$v['id_category'];
}
$this->productListAssign();

}
/* MODIFICATION ENDS HERE */

self::$smarty->assign(array( ...
}


Then Open Up classes/Category.php and change the line for the WHERE CLAUSE of the SQL query inside public function getProducts from

WHERE cp.`id_category` = '.(int)$this->id.($active ? ' AND p.`active` = 1' : '').'


TO

WHERE cp.`id_category` '.(is_array($this->id)?" IN(".implode(',',$this->id).")

  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...