5

何時間も検索しましたが、これに対する答えや役立つモジュールが見つかりませんでした。

私たちはストアを構築しており、クライアントはメーカーごとにストアをナビゲートする機能を必要としています。メーカーのページにカテゴリとサブカテゴリを一覧表示する方法はありますか?

やり方は2つあるようです。

  1. 管理セクションでカテゴリを追加しながら、ブランドを追加します。
  2. メーカーを表示しながら、結合操作でブランド内のすべてのカテゴリを取得します。

メーカーのページ内にカテゴリを表示できるように、メーカーとカテゴリをリンクするために利用できるモジュールはありますか?

または、メーカー内のすべての製品を照会してカテゴリを取得する唯一の方法です...それは良い解決策ではないと思います。

したがって、任意の提案は大きな助けになります。

ありがとう。

4

1 に答える 1

2

メーカーに属するカテゴリを見つける方法を考え出しました。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 )
于 2013-08-10T08:35:31.157 に答える