emiliorore Posted June 24, 2012 Share Posted June 24, 2012 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 More sharing options...
nadie Posted June 24, 2012 Share Posted June 24, 2012 Simplemente debes asignar el producto la categoría por defecto que usted desee y después asignarle las otras subcategorías. Link to comment Share on other sites More sharing options...
emiliorore Posted June 25, 2012 Author Share Posted June 25, 2012 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. 1 Link to comment Share on other sites More sharing options...
kristianmu Posted June 25, 2012 Share Posted June 25, 2012 En el xml puedes poner "categoria1, categoria2..." todas las que quieras separadas por una "," así que puedes poner la "categoria padre, categoria hijo 1.." no se si te vale Link to comment Share on other sites More sharing options...
emiliorore Posted June 25, 2012 Author Share Posted June 25, 2012 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. 1 Link to comment Share on other sites More sharing options...
kristianmu Posted June 25, 2012 Share Posted June 25, 2012 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 More sharing options...
jamape Posted November 15, 2012 Share Posted November 15, 2012 Hola! Alguien ha solucionado esto? Me interesa mucho este tema puesto que tengo un problema muy similar emiliorore. Gracias y saludos Link to comment Share on other sites More sharing options...
edulce Posted May 29, 2014 Share Posted May 29, 2014 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).") 1 Link to comment Share on other sites More sharing options...
jesa Posted May 29, 2014 Share Posted May 29, 2014 Hace 2 años de este hilo...si no lo solucionaron habrán desistido ya... 1 Link to comment Share on other sites More sharing options...
Recommended Posts