制造商内部的Opencart列表类别

时间:2013-08-07 03:22:18

标签: opencart

我已经搜索了几个小时但找不到答案,或者是一个帮助的模块。

我们正在建立一个商店,我们的客户需要能够按制造商导航商店。制造商页面是否有任何方式可以列出类别和子类别。

有两种方法可以做到。

  1. 在管理部分添加类别时添加品牌。
  2. 在查看制造商的同时,通过加入操作获取品牌内的所有类别。
  3. 是否有可用于将类别与制造商链接的模块,以便我可以在制造商页面中显示类别。

    或唯一的方法是查询制造商内部的所有产品并从中获取类别......我想这不是一个好的解决方案。

    所以任何建议都会有很大的帮助。

    感谢。

1 个答案:

答案 0 :(得分:2)

我想方设法找到属于制造商的类别。第二种选择似乎更好。

以下是我添加到catalog/model/catalog/manufacturer.php

的功能
public function getManufacturerCategories($manufacturer_id) {
    $query = $this->db->query("
        SELECT 
        DISTINCT c.category_id,cd.name
        FROM
        ". DB_PREFIX . "manufacturer m 
        LEFT JOIN ". DB_PREFIX. "product p ON (m.manufacturer_id = p.manufacturer_id)
        LEFT JOIN ". DB_PREFIX. "product_to_category p2c ON (p2c.product_id = p.product_id)
        LEFT JOIN ". DB_PREFIX. "category c ON (c.category_id = p2c.category_id)
        LEFT JOIN ". DB_PREFIX. "category_description cd ON (cd.category_id = p2c.category_id)
        WHERE
        p.status = 1
        AND m.manufacturer_id = '".(int)$manufacturer_id."'
        AND c.status= 1
        ");

    return $query->rows;
}

这是输出数组

stdClass Object (
    [row] => Array
        (
            [category_id] => 20
            [name] => Desktops
        )

    [rows] => Array
        (
            [0] => Array
                (
                    [category_id] => 20
                    [name] => Desktops
                )

            [1] => Array
                (
                    [category_id] => 24
                    [name] => Phones & PDAs
                )

        )

    [num_rows] => 2 )