我有一个这样的类别结构:
第一类
第 2 类
第 3 类
第 4 类
第 5 类
第 6 类
第 7 类
第 8 类
并想显示属于第 8 类和第 3 类的所有产品。第 8 类不是 3 的子项。
我该怎么做?我如何(首先)建立相对链接?
我有一个这样的类别结构:
第一类
第 2 类
第 3 类
第 4 类
第 5 类
第 6 类
第 7 类
第 8 类
并想显示属于第 8 类和第 3 类的所有产品。第 8 类不是 3 的子项。
我该怎么做?我如何(首先)建立相对链接?
您有几种方法可以实现这一点,但是就性能而言,它主要取决于目录的大小。
这是一个用 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)');