Incluir un producto en todas sus categorías padre en Prestashop

Incluir un producto en todas sus categorías padre en Prestashop

Con una simple consulta MySql, podemos hacer que cada uno de los productos de prestashop que estén asignados a una categoría distinta de «Inicio» se asignen a todo el árbol de categorías superior, de forma que el producto que pertenezca a una categoría dentro del árbol de categorías, termine perteneciendo a todas las categorías superiores hasta llegar al Inicio.

Esto permite que tanto en el conteo de artículos de una categoría, como en la página de la misma, se muestren todos los artículos que pertenezcan tanto a la categoría en la que estamos como a todas las que «cuelguen» de ella en el árbol de categorías.

La consulta sería la siguiente:

SET @position = 0;

INSERT IGNORE INTO `ps_category_product` SELECT c.`id_parent`, cp.`id_product`, @position:=@position+1 as `position` FROM `ps_category_product` cp LEFT JOIN `ps_category` c ON (cp.`id_category` = c.`id_category`) WHERE `id_parent` > 1 AND cp.`id_product` NOT IN (SELECT `id_product` FROM `ps_category_product` WHERE `id_category` = c.`id_parent`)

Es posible que tengamos que repetir en varias ocasiones la ejecución de esta consulta si nuestro árbol de categorías es muy profundo.

Esperamos que os sirva de ayuda.

 

Tags:
No Comments

Post A Comment