0

我有一个这样的类别结构:

第一类

  • 第 2 类

  • 第 3 类

第 4 类

  • 第 5 类

  • 第 6 类

第 7 类

第 8 类

并想显示属于第 8 类和第 3 类的所有产品。第 8 类不是 3 的子项。

我该怎么做?我如何(首先)建立相对链接?

4

1 回答 1

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)');
于 2013-07-11T16:26:32.877 回答