2013-05-27 5 views
4

Есть ли способ, с помощью которого я могу программно обновить список опций выбора LineItems?Drupal Commerce dynamic Позиции

Я пытаюсь создать Позиции из данных, предоставленных администраторами сайта.

Если вы обратитесь к http://178.79.128.76/coronet/node/78, вы увидите 4 вида данных: Дата просмотра, The Просмотр опции, Добавить в корзину кнопку и Show Таймсы.

Данные Show Times уникальны для каждого продукта. Каждая запись состоит из даты и одного или нескольких раз.

зрительской Options является позиция, и я пытаюсь заполнить его с данными, извлеченными из поля Показать Таймс в следующем формате:

  • Просмотр Дата 1 + ShowTime 1
  • Просмотр Дата 1 + ShowTime 2
  • Просмотр Дата 2 + ShowTime 1

Просто для демонстрации своей цели, я населяли данные примера выше в моей Просмотр Опции линии элемента с помощью hook_form_alter - они фактически не работают, когда вы выбираете и пытаетесь добавить продукт.

ответ

1

Вы можете настроить таблицы с помощью таблицы LineItem, таблицы ViewDate и таблицы ShowTimes. Это позволит вам иметь коллекцию ViewDate с внешним ключом в LineItem и коллекцию ShowTimes с внешним ключом в ViewDate.

+0

Уход за тем, чтобы ответить на ваш ответ? Я не знаю, что вы подразумеваете под таблицей LineItem и логикой вашего предложения. – sisko

+0

Это справедливо. Я использовал таблицу «LineItem», чтобы ссылаться на таблицу базового продукта и отношение к другим элементам таблицы, которые содержали коллекции, необходимые для компиляции данных для отображения вариантов выбора и, в конечном итоге, в позиции корзины. Я предлагаю, чтобы структура базы данных была создана таким образом, чтобы запросы могли быть написаны против и получить нужные данные. – nocturns2

+0

Кроме того, при наличии набора элементов (то есть ShowTimes) каждый родительский элемент (то есть ViewDate) может иметь как можно больше дочерних элементов (то есть ShowTimes). – nocturns2