Добрый день, предстала не легкая задача в создании магазина авто запчастей на базе Опенкарт 3. Заказчик желает сделать что-то подобное как на сайте www.fcpeuro.com или www.europaparts.com. То есть должен бить выбор запчастей и по марка-модель-год-двигатель и по категориям запчастей аксессуары - щетки стеклоочистителей ... Вот никак для себя не пойму что должно быть категорией а что через штатный или купленный фильтр опцией, группой атрибутов, самим атрибутом и фильтром. Пожалуйста кто сталкивался, наведите на мысль что к чему)
Ну так смотри на образцы. Там категории - это типы запчастей: система охлаждения, двигатель и т.п. Атрибуты, опции на твое усмотрение.
У автозапчастей особая специфика! У меня когда-то была подобная задача с мотозапчастями. Я всё сделал через категории, но сделал две системы категорий. То есть, я продублировал категории и превратил их в фильтр. А всё потому, что зависимость между "марка - модель - ..." - ступенчатая, то есть, например, модели не могут существовать в отрыве от марки и при любой фильтрации выбирается сначала марка. Далеко не каждый коробочный фильтр позволит такое сделать. В то же время в категориях эта ступенчатость заложена изначально. Но и для типов запчастей категории тоже подходят лучше всего (в смысле, свечи, подшипники и т.д.). Так что оптимальным решением будет сделать дубль системы категорий и использовать одну систему под обычные категории, а вторую под фильтрацию по маркам/моделям и т.д. Ну, а атрибуты уже под характеристики товаров (типа всяких длин, диаметров, материалов).
то есть первая группа категорий "ауди"- "а3" - "2017г" - "3.0" а вторая группа категорий "тормоза" - "тормозные колодки" и в итоге я добавляю товар тормозные колодки и заношу их только в под категорию "3.0" и в под категорию "тормозные колодки" ? или я не догоняю, где дубль тогда? то что две ветки категорий?)))
Видимо, вы не совсем полностью поняли о чём я. Если брать ваш пример, то тормоза - это обычная категория, а ауди - это уже не категория, а фильтр сделанный путём клонирования файлов, которые отвечают за категории в ОК. По крайней мере, так это делал я.
Я конечно извиняюсь, но я никак не пойму что означает "фильтр сделанный путём клонирования файлов, которые отвечают за категории в ОК", прошу объясните )
Берёте, например, файл контроллера категорий и делаете с ним сначала Ctrl+C, а затем Ctrl+V. Меняете название самого файла и класса внутри него. И проделываете то же самое с другими связанными файлами, если в них будет необходимость. В результате получаете дубль системы категорий, который можно использовать не как категории, а как фильтр.
Вы говорите конкретно о файле site\catalog\controller\product\category.php ? и того переименовую я его в category1.php а в самом файле меняю назву класса "class ControllerProductCategory1 extends Controller {" ? в итоге ничего не происходит. сам файл здесь
Ничего и не должно происходить Просто сделать копию одного файла - это тысячная часть работы, которую вам предстоит сделать. И начинать надо с админки. Для начала вам нужно сделать в админке полную копию системы категорий. Назовём её условно "фильтр марок". Забиваете в этот фильтр марок все марки, модели и т.д. в соответствующей иерархии. Затем через фильтр марок вы для каждого товара задаёте на какие марки, модели и т.д. подходит этот товар. И только затем уже переходите к стороне витрины и делаете там его вывод. Как именно вывести - это уже на ваше усмотрение. Самый простой вариант - это сделать несколько селектов: в первом список марок, во второй аяксом подтягивается список моделей выбранной марки после её выбора, в третий подтягиваются года после выбора модели и т.д. Собственно, на первом сайте, который вы привели в пример, как раз так оно и выглядит, только первым выбирается год, а затем марка и модель. А затем происходит выборка товаров похожим образом, как при выборе товаров определённой категории, но джоинится ещё таблица связей фильтра марок с товарами и выбранные в селектах значения (их id) участвуют в условии выборки. Должен предупредить, что создание такого фильтра - это довольно объёмная работа, даже при том, что на стороне админки где-то 80% кода нужно будет просто скопировать с категорий.