Здравствуйте.
Есть тип материала Компания, который имеет поле с термином таксономии Категория. Поле Категория заполняется администратором сайта при создании Компании.
Есть тип материала Отзыв о компании, который через поле Entity reference ссылается на Компанию и тоже имеет поле с термином таксономии Категория. Но в этом случае поле Категория скрыто от обычного пользователя.
Как сделать, чтобы при сохранении Отзыва поле Категория автоматически заполнилось, взяв необходимые данные из материала Компания через поле Entity reference?
Комментарии
Скажите, это вообще реальная задача?
Да, реальная. Готовых модулей навскидку не вспомню, решается с помощью hook_node_presave
Перед сохраненим ноды типа Отзыв о компании - загрузить связнную ноду Компания, взять оттуда id термина Категория, и заполнить им поле Категория в ноде Отзыв о компании, после этого хука она сохранится с заполненным полем.
Но - зачем вообще задваивать это поле, если через связь Отзыв - Компания можно вытянуть из компании Категорию - хоть при отображении отзыва, хоть в фильтрах вьюса, если надо искать отзывы по категориям.
Спасибо. А с помощью Рулес аналогичное провернуть тоже можно?
Думаю, что да. Не уверен, что там есть событие перед сохранением ноды/сущности, но можно использовать событие после сохранения (аналог hook_node_save), просто придется сохранить ноду еще раз после того, как ее сохранит пользователь из формы редактирования.
А с использованием токенов, я так понимаю, не решить?
До сохранения ноды в токене не будет значения.