Помогите определиться со структурой сайта

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

Аватар пользователя php5eng php5eng 30 октября 2010 в 23:33

Помогите пожалуйста разработать структуру сайта сравнения цен.
На сайте должны быть:
- Деление по городам (Москва, Ставрополь)
- Категории товаров (принтеры, мыши)
- Страницы товаров (canon ip1900)
- Свойства товаров (плазменный, белый)
- Списки продавцов, продающих конкретный товар (мвидео, эльдорадо)

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

Получается очень сложно и неоптимально... Может быть кто нибудь поможет советом или ссылкой на редкий модуль подходящий для решиния моей задачи?

Комментарии

Аватар пользователя lugann lugann 31 октября 2010 в 1:54

может быть удобнее плясать от товара, а не от города. вы создаете товар , а в дополнительные поля cck вбиваете цены, например: "цена в эльдорадо", "цена в м-видео", "цена на московском оптовом складе". и вьюсом выводите эти дополнительные сведения на странице товара. или все вместе таблицей в нужной категории.

Аватар пользователя mutuz mutuz 31 октября 2010 в 9:16

lugann wrote:
может быть удобнее плясать от товара, а не от города. вы создаете товар , а в дополнительные поля cck вбиваете цены, например: "цена в эльдорадо", "цена в м-видео", "цена на московском оптовом складе". и вьюсом выводите эти дополнительные сведения на странице товара. или все вместе таблицей в нужной категории.

У товара нет атрибута "Цена", она должна быть в отдельной таблице.
Например(в самом простейшем случае):

PriceProduct
-------------------
product_id
shop_id
price
currency
start_date
end_date

Аватар пользователя lugann lugann 31 октября 2010 в 14:09

mutuz wrote:

У товара нет атрибута "Цена", она должна быть в отдельной таблице.
Например(в самом простейшем случае):

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, и .т.д.

Аватар пользователя digital_sword digital_sword 31 октября 2010 в 7:42

"lugann" wrote:
может быть удобнее плясать от товара, а не от города. вы создаете товар , а в дополнительные поля cck вбиваете

+1

Аватар пользователя Advin Advin 31 октября 2010 в 9:57

Похоже, что все-таки для посетителя будет важно выбрать регион перед просмотром цен на товары.
Я бы не стал все в один словарь запихивать, так как параметры логически не связаны… иерархия получается искусственной.
Хороший модуль для работы с большими словарями – Taxonomy Manager.

Аватар пользователя Dan Dan 31 октября 2010 в 10:27

"php5eng" wrote:
- Деление по городам (Москва, Ставрополь)
- Категории товаров (принтеры, мыши)
- Страницы товаров (canon ip1900)
- Свойства товаров (плазменный, белый)
- Списки продавцов, продающих конкретный товар (мвидео, эльдорадо)

Вы перечислили несколько категорий товаров. Создавайте столько же словарей, потом делайте фильтрацию, которая в таксономии уже заложена.
Например (термин - его номер):

- Города
  Москва - 12
  Питер - 13
- Категории
  Принтер - 34
  Мышь - 45
- Свойство
  Белый - 10
- Продавец
  Мвидео - 98
  Эльдорадо - 7

В результате, мыши из Москвы, белые эльдорадовские будут доступны по пути /taxonomy/term/12,45,10,7 Естественно все термины перечислять не обязательно, если опустить термин для словаря "Продавец", то выборка будет по всем магазинам.