Как лучше организовать характеристики к товарам в магазине на Ubercart

Главные вкладки

Аватар пользователя oleg220 oleg220 11 ноября 2011 в 20:37

Привет.
Делаю второй магазин на ubercart.
Раньше для простоты и удобства все характеристики к товарам я тупо добавлял списком в одно специально созданное поле.
Всё бы хорошо да ладно, но, в таком случае не получится организовать ни сортировку по мощности, ни выборку по длине провода, в общем, никакие сравнения характеристик не доступны. ЗАТО НИКАКОЙ ВОЗНИ С ДОБАВЛЕНИЕМ.
Теперь же я делаю другой магазин, где хотелось бы расширить функционал, и хочу спросить Вашего совета, как вы это делаете.

Суть: магазин бытовой техники. Т.е. есть пылесосы (которые отличаются мощностью, длиной провода и шланга, фильтрами, производителями, силой всасывания и т.д.), микроволновки (температура, время какое-нибудь и т.д.), пароочистители (объём бака для воды, время разогрева и многое другое).
В общем, в сумме штук 100 разных характеристик.
Я решил создать разные классы товаров (по типам товаров) и добавить каждому соответствующие поля для характеристик.

И теперь вопросы:

  1. для каталога (списка товаров, который выводится через views) мне придётся в настройках вьюса выбирать все эти 100 полей?
  2. в шаблоне страницы товара мне так же придётся прописывать 100 строк кода (например: если заполнена мощность, то, вывести мощность и т.д.)?
  3. как эта масса кода скажется на производительности сайта?
  4. может кто-то придумал для себя более разумный способ организовать всё это?

Комментарии

Аватар пользователя cosmos cosmos 12 ноября 2011 в 3:44

1) будут вьюса для каждого типа товара с фильтрами по их характеристикам
для автоматизации можно замутить создание вьюса програмно ну конечно это трудно думаю
хотя тож вариант будет всего 1 вьюс для всех типов товаров

2)ну это можно в цикле перебрать главное удобно обозвать поля

Аватар пользователя oleg220 oleg220 13 ноября 2011 в 9:32

1) Не могу сообразить, как к каждому типу товаров привязать своё представление. Там же при установке Ubercart advanced catalog создаётся один вьюс, который мы и редактируем. Можно конечно делать отдельно от этого модуля и создавать руками меню из категорий, которые будут вести на свою вьюху, но, тут будет слишком много мучений.

2) Но ведь всё равно, как я понимаю, и в таком случае будет 100 лишних обращений к базе данных?

Аватар пользователя cosmos cosmos 14 ноября 2011 в 10:36

1) это надо колодовать с премодерацией - измененем вьюса на лету даже вьса таксономии я делал так уже
2) там идет 1 запрос и в шаблоне уже доступны все поля сразу

Аватар пользователя oleg220 oleg220 14 ноября 2011 в 10:56

По второму вопросу спасибо, понял. Значит на производительности это сильно не скажется.
По первому ещё подумать надо.