Не может же быть, чтобы ни у кого не возникало подобной задачи.
Но — не могу найти ни одного мануала, как это сделать.
Примерная задача: есть тип материала Type1. Еще есть тип Type2, у которого есть поле field (текстовый список).
При сохранении материала Type1 в поле field надо добавить значение, равное заголовку этого материала. Чтобы впоследствии при создании Type2 можно было выбрать это значение.
Предполагается использование модуля Rules и экшена "произвольный php-код".
Но вот что туда вставить - даже примерно не могу найти. Есть много материалов по программному созданию поля, добавлению его к материалу, кастомизации вывода и тд. А вот просто добавить значение - не вижу.
Помогите, пожалуйста, хоть примерным направлением, куда копать.
Комментарии
Просто предложение!
Используйте вместо Type1 - таксономию, а вместо field (текстовый список) - ссылку на термин.
Спасибо за совет.
Но мне такой вариант не подходит, по многим причинам.
В том числе - а как предоставить пользователю возможность добавлять термин в словарь, чтоб удобно было? Ну и так, там еще должно быть описание, картинка..Я ж "на пальцах" схему обрисовал, без нюансов.
Ну это все, как раз без проблем. Термин такая же сущность, как и нода - доступны поля, при необходимости, настройка отображений.
А вот каждый раз изменять поле - это... ну неправильно. Но возможно:
<?php
$field
= field_info_field('field_name'); $options = &$field['settings']['allowed_values']; $options['key'] = $node->title;// Рекомендую использовать NID в качестве ключа, вот так:
// $options[$node->nid] = $node->title; field_update_field($field); ?>
Огромнейшее вам спасибо! Это именно то, что мне надо.
То есть, нигде такого рецепта не смог найти, потому что это противоречит принципам друпала?
От части да.
Для списков, в которых возможны изменения, как раз и была придумана таксономия.
В крайнем случае, Entity reference.