Магазин авто запчастей на Opencart

Тема в разделе "OpenCart", создана пользователем Nightprince, 29 июл 2018.

  1. Nightprince

    Nightprince

    Регистрация:
    28 мар 2013
    Сообщения:
    5
    Симпатии:
    0
    Добрый день, предстала не легкая задача в создании магазина авто запчастей на базе Опенкарт 3. Заказчик желает сделать что-то подобное как на сайте www.fcpeuro.com или www.europaparts.com. То есть должен бить выбор запчастей и по марка-модель-год-двигатель и по категориям запчастей аксессуары - щетки стеклоочистителей ... Вот никак для себя не пойму что должно быть категорией а что через штатный или купленный фильтр опцией, группой атрибутов, самим атрибутом и фильтром.
    Пожалуйста кто сталкивался, наведите на мысль что к чему)
     
  2. Master2KAZ

    Master2KAZ

    Регистрация:
    25 окт 2014
    Сообщения:
    183
    Симпатии:
    72
    Ну так смотри на образцы. Там категории - это типы запчастей: система охлаждения, двигатель и т.п. Атрибуты, опции на твое усмотрение.
     
  3. Nightprince

    Nightprince

    Регистрация:
    28 мар 2013
    Сообщения:
    5
    Симпатии:
    0
    так вот именно что никак в голову не приходить что чем должно быть :(
     
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    У автозапчастей особая специфика!

    У меня когда-то была подобная задача с мотозапчастями. Я всё сделал через категории, но сделал две системы категорий. То есть, я продублировал категории и превратил их в фильтр. А всё потому, что зависимость между "марка - модель - ..." - ступенчатая, то есть, например, модели не могут существовать в отрыве от марки и при любой фильтрации выбирается сначала марка. Далеко не каждый коробочный фильтр позволит такое сделать. В то же время в категориях эта ступенчатость заложена изначально.

    Но и для типов запчастей категории тоже подходят лучше всего (в смысле, свечи, подшипники и т.д.). Так что оптимальным решением будет сделать дубль системы категорий и использовать одну систему под обычные категории, а вторую под фильтрацию по маркам/моделям и т.д.


    Ну, а атрибуты уже под характеристики товаров (типа всяких длин, диаметров, материалов).
     
  5. Nightprince

    Nightprince

    Регистрация:
    28 мар 2013
    Сообщения:
    5
    Симпатии:
    0
    то есть первая группа категорий
    "ауди"- "а3" - "2017г" - "3.0"
    а вторая группа категорий
    "тормоза" - "тормозные колодки"

    и в итоге я добавляю товар тормозные колодки и заношу их только в под категорию "3.0" и в под категорию "тормозные колодки" ?

    или я не догоняю, где дубль тогда? то что две ветки категорий?)))
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Видимо, вы не совсем полностью поняли о чём я.
    Если брать ваш пример, то тормоза - это обычная категория, а ауди - это уже не категория, а фильтр сделанный путём клонирования файлов, которые отвечают за категории в ОК.

    По крайней мере, так это делал я.
     
  7. Nightprince

    Nightprince

    Регистрация:
    28 мар 2013
    Сообщения:
    5
    Симпатии:
    0
    Я конечно извиняюсь, но я никак не пойму что означает "фильтр сделанный путём клонирования файлов, которые отвечают за категории в ОК", прошу объясните )
     
  8. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Берёте, например, файл контроллера категорий и делаете с ним сначала Ctrl+C, а затем Ctrl+V. Меняете название самого файла и класса внутри него. И проделываете то же самое с другими связанными файлами, если в них будет необходимость.
    В результате получаете дубль системы категорий, который можно использовать не как категории, а как фильтр.
     
  9. Nightprince

    Nightprince

    Регистрация:
    28 мар 2013
    Сообщения:
    5
    Симпатии:
    0
    Вы говорите конкретно о файле site\catalog\controller\product\category.php ?
    и того переименовую я его в category1.php а в самом файле меняю назву класса "class ControllerProductCategory1 extends Controller {" ? в итоге ничего не происходит.
    сам файл здесь
     
  10. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Ничего и не должно происходить :Smile: Просто сделать копию одного файла - это тысячная часть работы, которую вам предстоит сделать. И начинать надо с админки.
    Для начала вам нужно сделать в админке полную копию системы категорий. Назовём её условно "фильтр марок". Забиваете в этот фильтр марок все марки, модели и т.д. в соответствующей иерархии. Затем через фильтр марок вы для каждого товара задаёте на какие марки, модели и т.д. подходит этот товар. И только затем уже переходите к стороне витрины и делаете там его вывод.
    Как именно вывести - это уже на ваше усмотрение. Самый простой вариант - это сделать несколько селектов: в первом список марок, во второй аяксом подтягивается список моделей выбранной марки после её выбора, в третий подтягиваются года после выбора модели и т.д. Собственно, на первом сайте, который вы привели в пример, как раз так оно и выглядит, только первым выбирается год, а затем марка и модель.
    А затем происходит выборка товаров похожим образом, как при выборе товаров определённой категории, но джоинится ещё таблица связей фильтра марок с товарами и выбранные в селектах значения (их id) участвуют в условии выборки.

    Должен предупредить, что создание такого фильтра - это довольно объёмная работа, даже при том, что на стороне админки где-то 80% кода нужно будет просто скопировать с категорий.