Реализация блочка "Комплектующие" для ubercart + drupal 7

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

Аватар пользователя diepower diepower 26 июня 2013 в 22:57

Здравствуйте, задумался как реализовать модуль комплектующие в интернет магазине..
Вот пример задачи:
Есть товар = системный блок. В него входят такие части как материнка, блок питания, корпус и тд..
Нужно все это выводить где-то внизу страницы блочком.. выводить надо будет картинки описание и допустим поля характеризующие допустим материнскую плату...
в свою очередь материнская плата = это заранее добавленный товар.. аналогичный системному блоку..
т.е. получается когда добавляем системный блок указываем некоторое число комплектующих...

подскажите как реализовать.. огромная просьба если есть идеи - отвечать в виде мини инструкции..
т.к. в друпале я не очень разбираюсь еще, с помощью чего и что можно сделать...

Заранее спасибо

Комментарии

Аватар пользователя serega111 serega111 26 июня 2013 в 23:16

ставите commerce или ubercart. В любом случае каждый товар в конечном счете - нода. Ставите Entity Reference, добавляете поле к товару, настраиваете, чтобы оно ссылалось на другой товар. Создаете ноды для материнки, блока и т.п. поля в каждом подтоваре ссылаются на главный товар (материнка -> блок). Далее создаете view блок по товарам. Контекстный фильтр по полю entity reference, значение по умолчанию - id из url. Размещаете блок на странице товара и получите вывод связанных товаров.

Аватар пользователя diepower diepower 27 июня 2013 в 10:03

Спасибо ребята, но есть пара вопросов..

"serega111" wrote:
Создаете ноды для материнки, блока и т.п. поля в каждом подтоваре ссылаются на главный товар (материнка -> блок).

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

а то просто получается что сидиром может быть не в 1ом системном блоке.. а к 10 подходить может...
получается для сидюка нужно делать 10 полей и указывать где он может быть в каждом... а если еще 1 системник добавится? еще 1 поле...

суть примерно такая же? модули эти позволяют да?

Аватар пользователя serega111 serega111 27 июня 2013 в 10:59

в таком случае делаете это поле необязательным, ставите неограниченно число значений. И тогда сможете к блоку привязать множество товаров. Немного измените relationships во view, там связь в обе стороны работает.

Аватар пользователя diepower diepower 27 июня 2013 в 16:14

"serega111" wrote:
в таком случае делаете это поле необязательным, ставите неограниченно число значений. И тогда сможете к блоку привязать множество товаров. Немного измените relationships во view, там связь в обе стороны работает.

Оке, спасибо, попробую - будут вопросы напишу Wink

Аватар пользователя diepower diepower 9 июля 2013 в 14:41

не получается почему-то..
пробовал и модуль viewfields
помогите пожаулйста, что именно нужно указать при создании представления? какие фильтры, настройки и тд..
у меня с Entity Reference там есть выбор, обычный типа вывод и вывод вьюхой..
при обычном выводе - все окей, выводит названия тех статей которые указываю при редактировании главного материала... а при выводе вьюхой - я видимо не могу ее настроить... не получается вывести...
подскажите что указать..."Контекстный фильтр по полю entity reference, значение по умолчанию - id из url." у меня в контекстных фильтрах находит вот это
"Содержимое: Комплектация2 (field__2)
Появляется в: node:product.

Содержимое: Комплектация2 (field__2:delta)
Delta - Появляется в: node:product.
"
что из этих 2ух надо выбрать???

Аватар пользователя diepower diepower 23 июля 2013 в 15:56

serega111 помог разобраться, говорим ему спасибо!!

1) Оказалось что надо было из этого "у меня с Entity Reference там есть выбор, обычный типа вывод и вывод вьюхой.."
выбрать обычный вывод, там идет Simple (with optional filter by bundle)
2) затем во вьюхе ошибся...
делаем там в отношеениях вот так
"Entity Reference: Referenced Entity
A bridge to the Содержимое entity that is referenced via field_complect"
контекстный фильтр по NID
В настройках поля выбирает созданную связь... там будет выпадающий список..
сохраняем вьюху как блок, размещаем настранице в необходимом месте.
Вроде все...

Выложил так.. может кому-то еще пригодится..
serega111, еще раз спасибо!