Eu usei o módulo "Field Group" e criei alguns grupos no back-end. Agora eu quero adicionar programaticamente um campo ao grupo. Como eu posso fazer isso.
Estou usando Hook_form_alter, notei que todos os campos têm um atributo 'und' no qual o grupo de campos ao qual ele pertence está listado, mas se uma matriz create e 'und' e adicionar um nome ao grupo, ele não funcionará. .
Como devo fazer isso?
Respostas:
Isso é um pouco antigo, mas eu queria fazer a mesma coisa e não consegui encontrar uma resposta na web. Acabei descobrindo sozinho.
Vamos supor que você criou um grupo de campos por meio da interface do CMS com o nome "group_product_fields". Você adicionou alguns campos a esse grupo.
Agora você tem um novo campo sendo incluído no formulário de forma programática via hook_form_alter. Você deseja adicionar esse campo a "group_product_fields". Aqui está um exemplo de qual poderia ser o campo:
Tudo o que você precisa fazer agora é adicionar esse novo campo ao grupo de campos. Para fazer isso, adicione a linha abaixo ao hook_form_alter. Pode ser colocado em qualquer lugar dentro dele.
Isso é tudo. Você pode ajustar o peso do campo para que ele seja posicionado como desejar. Mas no final, isso é realmente simples. :)
fonte
Citação após adicionar programaticamente campos a um grupo de campos :
fonte
'mode' => 'form'
ou em'mode' => 'default'
vez de'mode' => 'full'
, ou simplesmente omitirmode
. Qualquer view_mode_name, graças @Maiq FashNão tenho certeza de como funcionou para você. Como o nome da chave da matriz deve corresponder ao nome do campo do banco de dados. E eles são:
Eu tenho que usar o seguinte formato para fazê-lo funcionar. deixe-me saber se estou fazendo algo bobo aqui.
fonte
Dê uma olhada em hook_field_group_build_pre_render_alter ().
Isso fornece a você a oportunidade de alterar a estrutura de seus grupos programaticamente.
Por exemplo, mova o campo "exemplo_campo" para o grupo "exemplo_grupo" no elemento raiz do formulário:
fonte
Primeiro, encontre o nome da máquina do grupo de campos no painel CMS e, em seguida, em seu formulário alter do
por um instante, adicionamos um email de campo personalizado ao
User form field group
grupo de campos:fonte