[Решено] как вывести всех имеющихся производителей в категории

Тема в разделе "OpenCart", создана пользователем yurets86, 28 окт 2013.

Статус темы:
Закрыта.
  1. yurets86

    yurets86

    Регистрация:
    13 апр 2013
    Сообщения:
    394
    Симпатии:
    328
    хочу рядом со списком подкатегорий вывести такой же список производителей которые встречаются в данной категории, как это можно сделать ?

    p.s. хотя бы подскажите как правильно построить sql запрос
     
    Последнее редактирование: 28 окт 2013
  2. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    выборка в категории товаров уже есть и там есть колонка выбранная, manufacturer_id или как то так, исходя из етого у нас уже есть ИД производителей которые встречаются в категории, только формируем новый запрос выбирая данные из таблицы manufacturer и(или) manufacturer_description с условиям если manufacturer_id = выбранным ... что дальше делать уже понятно
     
  3. Bogdan

    Bogdan

    Регистрация:
    25 фев 2013
    Сообщения:
    228
    Симпатии:
    104
    Не покажет производителей, которые встречаются в подкатегориях и при этом не установлен показ в родительской.
    Что бы показывало всех производителей и из подкатегорий нужно делать другой запрос, причем формировать его рекурсивно (ну если не знаем глубины вложенности)
     
  4. yurets86

    yurets86

    Регистрация:
    13 апр 2013
    Сообщения:
    394
    Симпатии:
    328
    и то точно ... не подскажите как можно сделать, а то в mysql хромаю, тем более когда запрос с подзапросами и джоинами ...
     
  5. Bogdan

    Bogdan

    Регистрация:
    25 фев 2013
    Сообщения:
    228
    Симпатии:
    104
    Сколько у Вас уровней вложенности категорий?
     
  6. yurets86

    yurets86

    Регистрация:
    13 апр 2013
    Сообщения:
    394
    Симпатии:
    328
    один уровень вложенности

    решил проблему, на решение натолкнул модуль filterbymanufacturer155-156, переделал его немного и получился отличный фильтр производителей списком
     
    Lasted edited by : 29 окт 2013
  7. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    создаем файлик, например catalog/model/catalog/nix.php
    в него вставляем ето

    теперь в файле catalog/controller/product/category.php
    например перед строкой
    PHP:
    $category_info $this->model_catalog_category->getCategory($category_id);
    вставляем такой вот код
    PHP:
            $this->load->model('catalog/nix');
            
    $all_cats $this->model_catalog_nix->getAllCat($category_id);
          
            foreach (
    $all_cats as $all_cat) {
                
    $this->data['nix'][] = array(
                    
    'name'    => $all_cat['name'],
                    
    'image' => $all_cat['image']
                );
            }
    таким образом мы получим имя и фото производителя не важно в каком уровне вложенности он будет находится, главное что он будет выбирать все производители текущей категории и всех родителей и под родителей етой категории. Тоесть то что нам и нужно, а главное никакой рекурсии на php, что значит у нас запрос 1 а не несколько.

    Ну что, можно обойтись без запроса в рекурсии или опять будете кричать по форумах что рекурсия, рекурсия и никак по другом....

    теперь в шаблоне catalog/view/theme/*/template/product/category.tpl
    в любом месте пишем так
    PHP:
    <?php foreach($nix as $cat) { ?>
    <?php 
    echo $cat['name']; ?>
    <?php 
    echo $cat['image']; ?>
    <?php 
    ?>
    Что делать дальше с шаблоном и остальным думаю уже все разберутся....

    Убедительная просьба, не выдавать код за свой, и перепост на других ресурсах без ссылки на оригинал, то есть зеркало wmasteru и автора запрещается!
    Делов то...
     
    Bogdan и yurets86 нравится это.
Статус темы:
Закрыта.