我有这样的类别结构:
第1类
第2类
第3类
第4类
第5类
第6类
第7类
第8类
并且想要显示属于第8类和第3类的所有产品。第8类不是3的孩子。
我该怎么办?如何(首先)我可以建立相对链接?
答案 0 :(得分:1)
您有多种方法可以实现这一目标,但在性能方面,主要取决于目录的大小。
以下是用SQL编写的一个示例,该示例非常快并且还确保所选产品处于活动状态:
$products_categories = Db::getInstance()->ExecuteS('
SELECT cp.id_product, pl.name product_name
FROM '._DB_PREFIX_.'category_product cp
LEFT JOIN '._DB_PREFIX_.'category c ON (c.id_category = cp.id_category)
LEFT JOIN '._DB_PREFIX_.'product p ON (p.id_product = cp.id_product)
LEFT JOIN '._DB_PREFIX_.'product_lang pl ON (pl.id_product = p.id_product)
WHERE cp.id_category = 3 AND p.active = 1 AND c.active = 1 and pl.id_lang = 1 AND cp.id_product IN (SELECT id_product FROM '._DB_PREFIX_.'category_product WHERE id_category = 8)');