Привет.
Делаю второй магазин на ubercart.
Раньше для простоты и удобства все характеристики к товарам я тупо добавлял списком в одно специально созданное поле.
Всё бы хорошо да ладно, но, в таком случае не получится организовать ни сортировку по мощности, ни выборку по длине провода, в общем, никакие сравнения характеристик не доступны. ЗАТО НИКАКОЙ ВОЗНИ С ДОБАВЛЕНИЕМ.
Теперь же я делаю другой магазин, где хотелось бы расширить функционал, и хочу спросить Вашего совета, как вы это делаете.
Суть: магазин бытовой техники. Т.е. есть пылесосы (которые отличаются мощностью, длиной провода и шланга, фильтрами, производителями, силой всасывания и т.д.), микроволновки (температура, время какое-нибудь и т.д.), пароочистители (объём бака для воды, время разогрева и многое другое).
В общем, в сумме штук 100 разных характеристик.
Я решил создать разные классы товаров (по типам товаров) и добавить каждому соответствующие поля для характеристик.
И теперь вопросы:
- для каталога (списка товаров, который выводится через views) мне придётся в настройках вьюса выбирать все эти 100 полей?
- в шаблоне страницы товара мне так же придётся прописывать 100 строк кода (например: если заполнена мощность, то, вывести мощность и т.д.)?
- как эта масса кода скажется на производительности сайта?
- может кто-то придумал для себя более разумный способ организовать всё это?
Комментарии
1) будут вьюса для каждого типа товара с фильтрами по их характеристикам
для автоматизации можно замутить создание вьюса програмно ну конечно это трудно думаю
хотя тож вариант будет всего 1 вьюс для всех типов товаров
2)ну это можно в цикле перебрать главное удобно обозвать поля
1) Не могу сообразить, как к каждому типу товаров привязать своё представление. Там же при установке Ubercart advanced catalog создаётся один вьюс, который мы и редактируем. Можно конечно делать отдельно от этого модуля и создавать руками меню из категорий, которые будут вести на свою вьюху, но, тут будет слишком много мучений.
2) Но ведь всё равно, как я понимаю, и в таком случае будет 100 лишних обращений к базе данных?
1) это надо колодовать с премодерацией - измененем вьюса на лету даже вьса таксономии я делал так уже
2) там идет 1 запрос и в шаблоне уже доступны все поля сразу
По второму вопросу спасибо, понял. Значит на производительности это сильно не скажется.
По первому ещё подумать надо.