Характеристики товара

12
Ч
На сайте с 16.12.2010
Offline
362
1284

Господа, пишу ТЗ прогеру и не могу понять как лучше сделать.

Подскажите плиз или киньте примером.

Всем известно, что в карточках товаров прописывают характеристики.

Характеристики бывают:

Для выбора одной из разновидностей одного и того же товара: цвет, размер.

Для фильтрации и отбора: частота процессора, объем памяти.

Просто информационные: ну понятно, это те, по которым не делается выбор, просто для информирования. Например транспортный вес, тип упаковки, срок гарантии.

ВСё это осложняется тем, что для разных товаров характеристики разные. Можно конечно сгруппировать по категориям, но можно и объединить несколько категорий, чтобы не плодить сущности.

Собственно, что надо сделать: надо сделать, чтобы на сайте можно было использовать все 3 типа характеристик.

У кого как реализовано такое? Ведь это, по сути,типовой функционал, у меня в движке он есть, но в ходе нескольких лет перепиливания двига этот функционал уже утерян, т.к. я им не пользовался.

Как сделать так, чтобы какие-то характеристики были общие, а какие-то для определенных категоирий товаров? А если они пересекаются для нескольких категорий, то объединять товары в виды товаров или как?

Как обозначить, что вот эта характеристика относится вот к этой и этой категории, а к этой не относится? Эта является информационной, а по этой можно фильтровать. А если они еще и пересекаются? Если одновременно характеристика и информационная и для отбора? Ну и так далее.

Вообщем, чего-то голову сломал как лучше сделать.

Приветствуются в том числе и ссылки на демки админок или плагинов, где такое реализовано.

Спасибо.

HR
На сайте с 17.02.2007
Offline
210
#1

А не проще для всех товаров сделать все существующие характеристики, а выводить только те, которые заполнены у конкретного товара? Есть заполненная - он фильтруется, нет - не фильтруется.

В шоп-скрипте так.

MK
На сайте с 18.08.2005
Offline
126
#2
Четверьг:
Всем известно, что в карточках товаров прописывают характеристики.
Характеристики бывают:
Для выбора одной из разновидностей одного и того же товара: цвет, размер.
Для фильтрации и отбора: частота процессора, объем памяти.
Просто информационные: ну понятно, это те, по которым не делается выбор, просто для информирования. Например транспортный вес, тип упаковки, срок гарантии.

ВСё это осложняется тем, что для разных товаров характеристики разные. Можно конечно сгруппировать по категориям, но можно и объединить несколько категорий, чтобы не плодить сущности.
...
У кого как реализовано такое?

Разные варианты пробовал, но в итоге чаще применяю такое:

1. На этапе загрузки/обновления определяется набор параметров к каждой категории, одновременно формируется таблица для показа в карточке "наименование параметра | значение" (3-й тип по вашей классификации).

2. Разные товары с одинаковым ИД склеиваются с определением разницы в параметрах => 1-тип характеристик.

3. Характеристики в 2 таблицы Ид товара|Ид параметра|значение (attr_num / attr_str ) в зависимости от данных, если все значения числа, то в таблицу attr_num, иначе в attr_str. От этого же зависит поле "тип параметра" в таблице наименований параметров.

4. В админке механизм выбора параметров для отображения в форме "фильтра" ("Сортировка для конфигуратора") и списка параметров для вывода в листинге ("В таблице комплектации"). Во вложении скрин одного из древних вариантов, но принцип тот же.

unk __screen.pdf
нет
Ч
На сайте с 16.12.2010
Offline
362
#3
HardeR:
А не проще для всех товаров сделать все существующие характеристики, а выводить только те, которые заполнены у конкретного товара? Есть заполненная - он фильтруется, нет - не фильтруется.

Можно, но такая простыня будет. Товаров то много, для некоторых товаров характеристик достаточно много. Все они будут сплошняком идти. Может по категориям или как-то по другому их сгруппировать попробовать.

И не по всем характеристикам надо фильровать еще же. Например вес или гарантия. Это тоже характеристика. Но, фильтровать по ней же не надо.

Marat_Kh, не понял.

п.3: а зачем так? Зачем Характеристики в 2 таблицы? Это для отображения покупателю или для админа?

4. В админке механизм выбора параметров для отображения в форме "фильтра" ("Сортировка для конфигуратора") и списка параметров для вывода в листинге ("В таблице комплектации").

"Сортировка для конфигуратора" - это характеристики для фильтрации?

"В таблице комплектации" - это типа просто информационные что ли?

MK
На сайте с 18.08.2005
Offline
126
#4
п.3: а зачем так? Зачем Характеристики в 2 таблицы? Это для отображения покупателю или для админа?

Число для выборки диапазона Select product_id .... WHERE ves BETWEEN 2 AND 5; Можно и в 1, раньше так и было (Ид товара | Ид параметра | Строка | Число) , потом решил разнести. Быстрее выборка получается.

"Сортировка для конфигуратора" - это характеристики для фильтрации?

В форме фильтра будут показаны те параметры где не 0, соответств. образом отсортированы


"В таблице комплектации" - это типа просто информационные что ли?

В листинге категории будут показаны только те характеристики, что отмечены галочками. Для каждой модели будут указан диапазон (у 1 модели могут быть модификации), если это число, или перечисление если строка:

- Максимальный вылет манипулятора,м : 8.00-19.00

- Двигатель : Cummins, КАМАЗ

jpg ___params.jpg
HR
На сайте с 17.02.2007
Offline
210
#5
Четверьг:
Можно, но такая простыня будет. Товаров то много, для некоторых товаров характеристик достаточно много. Все они будут сплошняком идти. Может по категориям или как-то по другому их сгруппировать попробовать.
И не по всем характеристикам надо фильровать еще же. Например вес или гарантия. Это тоже характеристика. Но, фильтровать по ней же не надо.

А вы характеристики вручную забиваете или импортом?

У нас импортом через таблицу - там за каждую характеристику свой столбец отвечает, при заполнении не напрягает, ведь заполняешь все равно однотипные товары пачками, ненужное просто сворачиваешь. Характеристик уже наверно около сотни.

Фильтры в шоп-скрипте отдельно настраиваются исходя из категории, галочками отмечаешь какая характеристика является фильтром.

e_v_medvedev
На сайте с 07.03.2013
Offline
183
#6
Четверьг:
Господа, пишу ТЗ прогеру и не могу понять как лучше сделать.
Подскажите плиз или киньте примером.

Всем известно, что в карточках товаров прописывают характеристики.
Характеристики бывают:
Для выбора одной из разновидностей одного и того же товара: цвет, размер.
Для фильтрации и отбора: частота процессора, объем памяти.
Просто информационные: ну понятно, это те, по которым не делается выбор, просто для информирования. Например транспортный вес, тип упаковки, срок гарантии.

ВСё это осложняется тем, что для разных товаров характеристики разные. Можно конечно сгруппировать по категориям, но можно и объединить несколько категорий, чтобы не плодить сущности.

Собственно, что надо сделать: надо сделать, чтобы на сайте можно было использовать все 3 типа характеристик.
У кого как реализовано такое? Ведь это, по сути,типовой функционал, у меня в движке он есть, но в ходе нескольких лет перепиливания двига этот функционал уже утерян, т.к. я им не пользовался.
Как сделать так, чтобы какие-то характеристики были общие, а какие-то для определенных категоирий товаров? А если они пересекаются для нескольких категорий, то объединять товары в виды товаров или как?
Как обозначить, что вот эта характеристика относится вот к этой и этой категории, а к этой не относится? Эта является информационной, а по этой можно фильтровать. А если они еще и пересекаются? Если одновременно характеристика и информационная и для отбора? Ну и так далее.
Вообщем, чего-то голову сломал как лучше сделать.

Приветствуются в том числе и ссылки на демки админок или плагинов, где такое реализовано.

Спасибо.

Все зависит от того, какой у вас движок. В Мадженто например есть наборы атрибутов. Когда создается товар, то первым делом для него задается определенный набор атрибутов для заполнения. То есть первым делом товар относится к определенному классу. А вот каждый атрибут настраивается видимым в карточке товара, используемым для сортировки, используемым для фильтрации, используемым в поиске и т.п. Используя эти настройки и задается любая навигация и любое отображение данных на странице товара. Ну и соответственно товар привязывается к категории.

smartceo.ru (https://smartceo.ru) (методология интернет-торговли, портфолио, онлайн сервисы)
H
На сайте с 21.08.2004
Offline
122
#7

У меня свойства объединены в группы:

Группа размеры:

длина, мм

ширина, мм

высота, мм

В разделах (группах) товаров я проставляю галочки для групп "свойства".

В карточке товара появляются соответствующие свойства.

Можно "извратиться" и прописать для свойства знак "фильтр", "обязательное поле" и т.д.

Есть что-то, что мы не знаем, но узнать это мы не можем.
CS
На сайте с 01.05.2017
Offline
5
#8
Как лучше сделать?

Прошу прощения за не совсем развернутый ответ, но рекомендую посмотреть в сторону модели данных EAV, и исходя из неё уже прорабатывать дальнейшее ТЗ для программиста (Свойства, опции, атрибуты, фильтры и так далее).

Сама модель данных выглядит вот так (P.S простейший пример реализации паттерна)

V7
На сайте с 27.11.2010
Offline
121
#9

посмотрите как это сделано в маркете, днс, ситилинке и сделайте так же.

велосипед давно изобретен.

Ч
На сайте с 16.12.2010
Offline
362
#10

Спасибо всем за советы.

HardeR:
А вы характеристики вручную забиваете или импортом?

Сейчас вручную, но буду делать импорт, иначе это адъ.

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

Характеристик уже наверно около сотни.

Вот это и пугает, раздутие и потеря контроля.

Фильтры в шоп-скрипте отдельно настраиваются исходя из категории, галочками отмечаешь какая характеристика является фильтром.

Ага, как вариант пойдет.

e_v_medvedev:
Все зависит от того, какой у вас движок.

Вебасист 3. Но, пиленый перепиленый.

В Мадженто например есть наборы атрибутов. Когда создается товар, то первым делом для него задается определенный набор атрибутов для заполнения.

Это всё есть в дефолтной версии Магенты или допил? ПОищу демо админку.

посмотреть в сторону модели данных EAV

ПОчитал, чего то мудрено как-то, во всяком случае для моего ума )

посмотрите как это сделано в маркете, днс, ситилинке и сделайте так же.
велосипед давно изобретен.

Конечно, это уже всё давно реализовано, вот поэтому и хочу сделать как у других, нового не изобретать. Только в админки днса и ситилинка не залезть мне.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий