Несколько цен у товаров в каталоге

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

Аватар пользователя Lex-DRL Lex-DRL 4 апреля 2011 в 20:37

Имеется:

  • Каталог товаров (таксономия + Views)
  • Соответственно, тип материала "Товар"
  • Тип материала "завод"

Одно и то же изделие может производиться разными заводами. Поэтому на одно изделие может быть несколько разных цен. И, разумеется, количество заводов может меняться, и ни один завод не покрывает весь каталог. Так что получается связь "многие - ко многим".

Как можно реализовать это (выставление изделиям несколько цен с привязкой к заводам)?

Мне пока что не пришло в голову ничего лучше, чем сделать доп. тип материала - "цена" - с 3-мя полями:

  • Изделие (Node Reference)
  • Завод (Node Reference)
  • Цена

Ну и потом выводить все связанные с изделием цены через Views. Но это, мягко говоря, "через одно место".

Может, какие спец. модули есть? Напр., идеально подошёл бы модуль, позволяющий создавать в ноде комбинированные поля (каждое значение в произвольном поле "цена" состоит как бы из 2-х полей: собственно цена [число] - завод [node reference]).

Комментарии

Аватар пользователя Andruxa Andruxa 5 апреля 2011 в 0:35

"Lex-DRL" wrote:
Одно и то же изделие может производиться разными заводами. Поэтому на одно изделие может быть несколько разных цен.

Попробуйте сделать заводы атрибутами нод типа "Товар",
у атрибутов можно задавать свои дельты от цены ноды.

ps.
а е-коммерцию чем реализуете, или у вас просто каталог с ценами?
атрибуты - это из ubercart

Аватар пользователя Lex-DRL Lex-DRL 5 апреля 2011 в 1:02

Пока что просто каталог, и превращение его в магазин, насколько мне известно, не предвидется.
Сегодня бегло ознакомился с возможностями уберкарта. Хорошо, конечно. Но мне кажется, уберкарт в данном случае - "из пушки по воробьям".

По поводу атрибутов. Тут вся задумка в том, чтоб сами представители заводов имели возможность выбирать изделия, которые они выпускают, и проставлять цены. Я пока уберкарт освоил совсем поверхностно - можно ли дать специальным ролям (представителям заводов) возможность как раз для нужных товаров выбирать себя в этом атрибуте и выставлять соответствующую цену? Естественно, не давая им полный доступ: а) к самой ноде изделия; б) к админке уберкарта.
Ну и попутно. Как я понял, атрибут позволяет выставлять разницу в цене. Но это означает, что должна быть некая базовая цена, а представителям придётся заморачиваться, каждый раз высчитывая разницу между их ценой и базовой. Уберкарт позволяет как-то обойтись без этого, чтоб представители могли напрямую задавать цену в зависимости от значения атрибута (в зависимости от завода)?

Аватар пользователя Andruxa Andruxa 5 апреля 2011 в 11:33

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

"Lex-DRL" wrote:
чтоб сами представители заводов имели возможность выбирать изделия, которые они выпускают, и проставлять цены

м.б. запрашивать у заводов прайс регулярно?
наверняка большинство будет делать экспорт из 1с
или yml какой-нибудь

себе и представителям завода жизнь упростите.

цены хранить в cck-поле со множественными значениями
интересно было бы с индексами по юзерам

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

Аватар пользователя Lex-DRL Lex-DRL 5 апреля 2011 в 13:01

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

За предложения большое спасибо, есть над чем подумать с заказчиком.