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