Я хочу добавить поле для нескольких типов контента одновременно, а также настроить его для всех сразу.
Причина в том, что у меня есть много типов контента, каждый из которых необходимо обновить, добавив это новое поле к каждому. Это поле будет настроено одинаково для всех типов контента. Я должен повторить этот процесс добавления и настройки поля для каждого типа контента, к которому я хочу добавить его, и через некоторое время он становится трудным.
Есть ли способ массового добавления / настройки нового поля для многих типов контента?
Ответы:
Широкие линии, использующие модуль Features, могут быть:
источник
Используйте модуль Field Tools :
Коллекция полезных инструментов пользовательского интерфейса для работы с полями:
источник
Если вы не возражаете написать собственный модуль для этого, относительно легко добавить поле к типу контента с помощью кода:
$instance = array(
'field_name' => 'field_firstname',
'label' => 'First name',
'entity_type' => 'node',
'bundle' => 'person',
);
field_create_instance($instance);
Приведенный выше код добавит поле «field_firstname» к типу контента с именем машины «person». Таким образом, вы можете создать модуль, форма которого позволяет вам выбрать поле и номер типа контента, а после отправки поле добавляется ко всем выбранным типам контента.
источник
Несколько раз, когда мне приходилось делать это, я использовал Field Collection .
Это все еще довольно сложно, так как вы должны добавить поле коллекции полей для каждого типа контента. Тем не менее, если вы добавляете 5 или 6 полей к нескольким типам контента, вам нужно настроить первые 5 или 6 полей только один раз в коллекции полей.
После этого вы создаете поле коллекции полей (для примера, давайте его назовем
field_collection_field
) для одного из ваших типов контента, а затем повторно используем это поле для всех остальных.Как я уже сказал, вам все равно нужно настроить одно поле на х количество типов контента ... но это лучше, чем создавать 10 полей на 10 типов контента (например).
источник
Если вам удобно управлять базой данных напрямую, экземпляры полей хранятся в таблице {field_config_instance}. Вы можете добавить / настроить поле для одного типа контента, затем найти запись в таблице базы данных и продублировать ее.
Вам придется изменить два значения столбца в дублированной строке:
источник