Помогите пожалуйста разработать структуру сайта сравнения цен.
На сайте должны быть:
- Деление по городам (Москва, Ставрополь)
- Категории товаров (принтеры, мыши)
- Страницы товаров (canon ip1900)
- Свойства товаров (плазменный, белый)
- Списки продавцов, продающих конкретный товар (мвидео, эльдорадо)
Я придумал такое, на мой взгляд слишком сложное, решение.
- Словарь таксономии, содержащий на верхнем уровне города, а "под" городами - категории товаров. Каждая категория товара копируется под каждый город (по моему, это неправильно, но как сделать лучше, я не знаю).
- Под каждую категорию добавляются свойства товаров, присутствующих в этой группе (в нужности этого пункта не уверен, потому дерево таксономии тогда распухнет в несколько раз)
- Дальше нужно создавать страницы товаров. Для каждой ноды отмечаются те позиции в дереве, под которые этот товар подходит
- В ноду вставляются (по node reference) ноды другого типа, содержащие цены.
Получается очень сложно и неоптимально... Может быть кто нибудь поможет советом или ссылкой на редкий модуль подходящий для решиния моей задачи?
Комментарии
может быть удобнее плясать от товара, а не от города. вы создаете товар , а в дополнительные поля cck вбиваете цены, например: "цена в эльдорадо", "цена в м-видео", "цена на московском оптовом складе". и вьюсом выводите эти дополнительные сведения на странице товара. или все вместе таблицей в нужной категории.
У товара нет атрибута "Цена", она должна быть в отдельной таблице.
Например(в самом простейшем случае):
PriceProduct
-------------------
product_id
shop_id
price
currency
start_date
end_date
как понял - делать собираются не магазин, а что-то там для сравнения цен.
данные собирать и загружать из разных прайсов (не вручную же)).
лучше как-то так:
PriceProduct
-------------------
product_id
title
description
category
shop1_price
shop2_price
shop3_price
shop4_price
...
-------------------
вашей табличкой - названия одного и того же товара будут отличаться;
описания будут разные ; в каждой строке нужно грузить shop_id
хотя продавца можно взять из самого поля cck, и .т.д.
+1
Похоже, что все-таки для посетителя будет важно выбрать регион перед просмотром цен на товары.
Я бы не стал все в один словарь запихивать, так как параметры логически не связаны… иерархия получается искусственной.
Хороший модуль для работы с большими словарями – Taxonomy Manager.
Вы перечислили несколько категорий товаров. Создавайте столько же словарей, потом делайте фильтрацию, которая в таксономии уже заложена.
Например (термин - его номер):
В результате, мыши из Москвы, белые эльдорадовские будут доступны по пути /taxonomy/term/12,45,10,7 Естественно все термины перечислять не обязательно, если опустить термин для словаря "Продавец", то выборка будет по всем магазинам.