Как *взаимно* связать несколько нод без термина?

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

Аватар пользователя meloff meloff 30 апреля 2015 в 0:01

Есть 3 товара. Заходя в товар 1 в блоке «фасовка» должны вывестись товар 2 и товар 3.
С этим проблем нет. Использую поле entity reference в товаре 1 и вывод views в блок. Далее проблемы.
Зайдя в товар 2, нужно чтобы в том же блоке вывелись товар 1 и товар 3. Соответственно зайдя в товар 3
нужен вывод товара 1 и товара 2.

Отдельно заполнять поля entity reference у товара 2 и 3 не хочется, потому что товаров около 500 штук
группами по 2-5 штучек. Делать термины под каждую группу тоже не вариант.

У views в relationships у entity reference есть только 2 параметра — Referencing entity и Referenced entity.
Как их так связать, чтобы добиться нужного, может кто сталкивался с такой задачей?

Комментарии

Аватар пользователя imarat imarat 30 апреля 2015 в 7:25

hook_entity_presave
в нем грузите ноды из поля entity reference и устанавливаете значения полей
далее node_save, а не забыть добавить какой-нибудь параметр в объект ноды (и соотвественно делать на него првоерку в hook_entity_presave), чтобы эта операция не зациклилась, т.к снова вызовется hook_entity_presave

Аватар пользователя meloff meloff 30 апреля 2015 в 13:59

Ммм.. это мысль. Я как то делал добавление в скрытое поле юзера entity товара, чтобы отследить покупал ли он уже этот товар или еще нет. Думаю здесь принцип похож, только я в php не силен. Если получиться сделать, обязательно выложу решение. Спасибо.

drupal commerce и любой другой модуль магазина не хочется использовать, использую simle cart с отправкой данных о заказе на почту. Клиенту больше и не нужно. Конечно если он попросит прикрутить платежный терминал могут начаться проблемы.. )