Создание каталога

  • Автор темы Соколов Станисл
  • Дата начала

sergadm

Новичок
пусть есть два товара "колбаса " и "компутер"
совершенно упрощённая структура баз (без категорий и таблицы названий атрибутов для начала)
таблица "товары" со след полями
id-уник индекс товара
name- название товара
а вот таблица
id |name
1 | колбаса
2 | компутер
3 | кувалда
4 | колбаса

иёщё одна таблица значения "атрибутов"
id-уник индекс товара
n_a- название атрибута товара
z_a - значение атрибута товара

id |n_a |z_a
1 |какая |капчёная
1 |вкус |хороший
1 |из чего |мяса
4 |какая |сырая
4 |вкус |неизвестный
4 |из чего |бумаги
2 |какой |тормозной
2 |цвет |красный
2 |проц | самодельный
2 |мать |дорогая
3 |какая |тяжёлая
3 |длина |большая
3 |вес |50 килограм
3 |made in | США
3 |гарантия|на один удар

теперь если надо выбрать описание кувалды выбираем из таблицы "атрибутов" значения с id =3
надеюсь так понятно
и после этого хорошо подумай почитай что другие писали и надеюсь сделаешь всё правильно
характеристика была записана в свое поле
а это ёщё зачем?
 

Линк

Guest
Если Вам сложно пользоваться гуглом (некоторые новички не умеют):
Есть на books.ru разные книжки про реляционные БД
например про MySQL или Postgres

А еще кажеться этот прием описывался в красной библии.
 

HEm

Сетевой бобер
Такая деталь как использование только строковых значений для хранения свойств товара лишает пользователя удовольствия сравнивать разные товары между собой по одинаковым характеристикам
С другой стороны, использование разных полей делает базу избыточной.... что делать?
 

Линк

Guest
редактор типов
давать возможность создавать поля админам сайта
 

Линк

Guest
особо не вглядывался
но глюков нет вроде.. стильно)
 

kluv

Guest
Функции и возможности:

1. Неограниченная иерархия разделов.
2. Произвольное количество и порядок отображения характеристик товаров
3. Понятные ссылки типа site.ru/catalog/hardware/hdd/ide/
4. Загрузка изображения товара (JPEG, GIF, PNG) с автоматическим созданием уменьшенной копии (thumbnail).
5. Полная интеграция в Mambo Open Source 4.5.X (любые stable & beta версии)
6. Удобное динамическое выпадающее меню для управления каталогом.
7. Пакетная загрузка товаров в раздел из CSV файла.
8. Мультивалютность. Произвольное количество валют, без пересчета.
9. Изменение дизайна – полный доступ к исходному коду файла с выводом html.
10. Повсеместный контроль целостности данных:
• Нельзя удалить раздел с подразделами или товарами
• При перемещении товара в другой раздел, параметры товара удаляются (они привязаны к разделам). Артикул, название, цена и описание сохраняются
• Нельзя удалить валюту, если хотя бы один товар оценен в этой валюте
• При удалении параметра в разделе, он будет также удален в каждом товаре

Требования
1. Mambo Open Source 4.5.X
2. Необходимость установки на веб-сервер ioncube декодера (бесплатный модуль php)
3. Необходимость легкой правки файлов дистрибутива – по несколько строк в двух файлах.
 

HEm

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

kluv

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

А в данном конкретном случае предметная область очень сложная, поэтому проще вообще создать должность администратора БД, который собственно и будет решать эти вопросы совместно с менеджерами и программистом.

P.S.
Если на это нет денег, то лучше вообще не затевать ничего.
 
Сверху