2013-08-07 16 views
5

Szukałem godzin, ale nie mogłem znaleźć odpowiedzi na to, lub moduł do pomocy.Kategorie list w wykazie wewnątrz producentów

Budujemy sklep, a nasz klient potrzebuje możliwości nawigacji po sklepie przez producenta. Czy jest jakiś sposób, że strona producenta może zawierać listę kategorii i podkategorii.

Wygląda na to dwa sposoby.

  1. Dodaj marki, dodając kategorie w dziale administr.
  2. Wyświetl wszystkie kategorie w markach, łącząc się z operacją podczas przeglądania producenta.

Czy są dostępne moduły łączące kategorie z producentami, dzięki czemu mogę wyświetlać kategorie na stronie producenta.

Albo jedynym sposobem jest wysłanie zapytania do wszystkich produktów wewnątrz producenta i uzyskanie kategorii z tego ... Myślę, że to nie jest dobre rozwiązanie.

Więc wszelkie sugestie będą bardzo pomocne.

Dzięki.

Odpowiedz

2

Wymyśliłem sposób na znalezienie kategorii należących do producenta. Druga opcja wydaje się lepsza.

Tutaj funkcja, że ​​dodaje się do 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; 
} 

jest tutaj tablica wyjściowa

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) 
Powiązane problemy