Desejo adicionar um campo a vários tipos de conteúdo de uma só vez e configurá-lo para todos eles ao mesmo tempo.
A razão é que eu tenho muitos tipos de conteúdo, todos os quais precisam ser atualizados adicionando esse novo campo a cada um. Este campo será configurado da mesma forma para todos os tipos de conteúdo. Eu tenho que repetir esse processo de adição e configuração do campo a cada tipo de conteúdo ao qual eu quero adicioná-lo, e isso fica difícil depois de um tempo.
Existe alguma maneira de adicionar / configurar em massa um novo campo para muitos tipos de conteúdo?
Respostas:
Linhas amplas usando o módulo Recursos podem ser:
fonte
Use o módulo Ferramentas de campo :
Uma coleção de ferramentas úteis da interface do usuário para trabalhar com campos:
fonte
Se você não se importa em escrever um módulo personalizado para isso, é relativamente fácil adicionar um campo a um tipo de conteúdo via código:
$instance = array(
'field_name' => 'field_firstname',
'label' => 'First name',
'entity_type' => 'node',
'bundle' => 'person',
);
field_create_instance($instance);
O código acima adicionará o campo "field_firstname" ao tipo de conteúdo com o nome da máquina "person". Assim, você pode criar um módulo com um formulário que permita selecionar um campo e vários tipos de conteúdo e, após o envio, o campo será adicionado a todos os tipos de conteúdo selecionados.
fonte
Nas poucas vezes em que fiz isso, usei o Field Collection .
Ainda é bastante árduo, pois você precisa adicionar o campo de coleção de campos a todos os tipos de conteúdo. Dito isto, se você estiver adicionando 5 ou 6 campos a vários tipos de conteúdo, precisará configurar os 5 ou 6 campos iniciais apenas uma vez na coleção de campos.
Depois disso, você cria o campo de coleção de campos (por motivos de argumentos, vamos chamá-lo
field_collection_field
) em um dos seus tipos de conteúdo e depois reutiliza o mesmo campo em todos os outros.Como eu disse, você ainda precisa configurar um campo em x quantidade de tipos de conteúdo ... mas é melhor do que criar 10 campos em 10 tipos de conteúdo (por exemplo).
fonte
Se você está confortável em manipular o banco de dados diretamente, as instâncias de campo são armazenadas na tabela {field_config_instance}. Você pode adicionar / configurar seu campo para um tipo de conteúdo, localizar o registro na tabela do banco de dados e duplicá-lo.
Você precisará alterar dois valores de coluna na linha duplicada:
fonte