Связать два типа материала по введенному полю в одном из

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

Аватар пользователя tony_m tony_m 29 января 2013 в 18:07

Необходимо связать два тип материала.

Например, в типе материала "Событие" есть поле "Место", после ввода места в это поле, автоматически заполнялись данные из типа материала "Заведение" - телефон и адрес, а в типе материала "Заведение", появлялся блок с вновь созданным событием, вот такая обратная связь..

Подскажите как реализоавть можно? (пробовал через Entity Reference, но так только добавлется название заведения)

Комментарии

Аватар пользователя IPlayer IPlayer 29 января 2013 в 18:16

"tony_m" wrote:
но так только добавлется название заведения

это нормально и правильно, т.к. телефон и адрес принадлежат сущности "заведение" и нечего их растаскивать по другим сущностям. Имея в "Событии" ссылку на "заведение" Вы можете оперировать любыми полями последнего (PHP).

"tony_m" wrote:
появлялся блок с вновь созданным событием

это либо простая вью с настроенным контекстным фильтром, либо EVA воспользоваться. Это модуль такой.

Аватар пользователя tony_m tony_m 29 января 2013 в 18:23

"IPlayer" wrote:
Имея в "Событии" ссылку на "заведение" Вы можете оперировать любыми полями последнего (PHP).

Вот здесь можно подробнее. нужно будет в node--event.tpl прописывать?

Аватар пользователя IPlayer IPlayer 29 января 2013 в 18:40

почитайте про hook_node_view(). В нем будут доступны все поля выводимой ноды. Возьмете поле с сылкой на Заведение и загрузите его ноду используя node_load(). Затем нужные поля Заведения допишите в content выводимой ноды. Вот эти то поля и станут доступны в файле шаблона, что Вы указали. Это сам принцип. Его надо понять и дальше уже будет легче Smile