Создание универсального каталога товаров, кто как это делает.

Leonid

PHP? нет, не слышал...
Создание универсального каталога товаров, кто как это делает.

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

Каталог, многоуровневый, бесконечной вложенности, содержащий разделы и товары:

Каталог
__Мониторы
____ЭЛТ
______Монитор 1
______Монитор 2
______......
____ЖК
____.....
__Принтеры
____Лазерные
____Матричные
____Струйные
____....
__Ноутбуки
__.....

Т.е. каждый раздел может содержать любое количество подразделов и / или товаров. У товаров картинки, описания.... Это все не сложно. Возникла задача привязки к товарам технических характеристик, по которым эти товары можно найти. Как желательно сделать: у каждого раздела, в т.ч. раздела самого верхнего уровня "Каталог" есть набор параметров, которые наследуются всеми вложенными в него подразделами. Те параметры, котрые есть у "каталога", наследуются всеми разделами, например это цена, марка производителя, цвет корпуса, вес. У раздела "мониторы" есть уже свои параметры, например диагональ, соотношение сторон, макс. разрешение и пр. У ЭЛТ мониторов добавится, например, размер зерна...

Все товары, которые есть в данном разделе, должны иметь все те параметры, которые во первых есть у раздела и которые он унаследовал от разделов более высокого уровня. Из этих параметров во-первых строится таблица на стронице с описанием товара, во вторых по ним осуществляется выборка. Например пользователь зашел в раздел "мониторы" и там есть поисковая форма, с выбором параметров только для мониторов, у принтеров - своя форма.

Все эти параметры сводятся в принципе к 2 типам - числовой, например цена, либо select из нескольких вариантов.

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

Так вот вопрос. Как бы все это грамотно организовать? Под все параметры можно создать таблицу с типом параметра и возможными значениями, но вот как это все связать, да еще и поиск организовать?

Поделитесь опытом или идеями...
 

Vikont

Новичок
Re: Создание универсального каталога товаров, кто как это делает.

Автор оригинала: Leonid
В общем необходимо создать достаточно универсальный каталог товаров, для примера приведу каталог компьютерной техники, но в общем он должен подходить под многие другие задачи.

Каталог, многоуровневый, бесконечной вложенности, содержащий разделы и товары:

Каталог
__Мониторы
____ЭЛТ
______Монитор 1
______Монитор 2
______......
____ЖК
____.....
__Принтеры
____Лазерные
____Матричные
____Струйные
____....
__Ноутбуки
__.....

Т.е. каждый раздел может содержать любое количество подразделов и / или товаров. У товаров картинки, описания.... Это все не сложно. Возникла задача привязки к товарам технических характеристик, по которым эти товары можно найти. Как желательно сделать: у каждого раздела, в т.ч. раздела самого верхнего уровня "Каталог" есть набор параметров, которые наследуются всеми вложенными в него подразделами. Те параметры, котрые есть у "каталога", наследуются всеми разделами, например это цена, марка производителя, цвет корпуса, вес. У раздела "мониторы" есть уже свои параметры, например диагональ, соотношение сторон, макс. разрешение и пр. У ЭЛТ мониторов добавится, например, размер зерна...

Все товары, которые есть в данном разделе, должны иметь все те параметры, которые во первых есть у раздела и которые он унаследовал от разделов более высокого уровня. Из этих параметров во-первых строится таблица на стронице с описанием товара, во вторых по ним осуществляется выборка. Например пользователь зашел в раздел "мониторы" и там есть поисковая форма, с выбором параметров только для мониторов, у принтеров - своя форма.

Все эти параметры сводятся в принципе к 2 типам - числовой, например цена, либо select из нескольких вариантов.

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

Так вот вопрос. Как бы все это грамотно организовать? Под все параметры можно создать таблицу с типом параметра и возможными значениями, но вот как это все связать, да еще и поиск организовать?

Поделитесь опытом или идеями...
 

Vikont

Новичок
Работаю над подобным каталогом. Делаю просто: три таблицы - таблица категорий, таблица характеристик, таблица связей, в которой ID категории связываем c ID-ми характеристик. А подразделы формируются исключительно фильтрацией. Например: для принтеров в характеристике тип указываем лезерный, струйный и т.д. и по этому полю фильтруем и все. Может не оригинально, но работает...
 

Leonid

PHP? нет, не слышал...
Vikont
Но в этом случае ты уже не сможешь лазерные принтеры разделить например, на цветные и ч/б, т.е. отсутствует бесконечная вложенность
 

Dovg

Продвинутый новичок
Вроде не раз уже обсуждали

можно так
------------
Категории - обычное дерево
id, parent_id, name, другие поля

характеристики - категории
category_id, property_id

Характеристики
id, name, другие поля

Товары
id, category_id, другие поля

Характеристики - товары
product_id, property_id, value
---
когда будешь собирать характеристики конкретного товара, проходишь от ветки до корня дерева
 
Сверху