Eu tenho um módulo personalizado e estou tentando ocultar um grupo de campos CCK usando "#states" quando um determinado item é selecionado em uma lista suspensa de seleção.
Eu tentei usar estados de dentro de hook_form_alter (), assim:
$form['group_mygroup']['#states']['invisible'] = array(
':input[name="field_trigger[' . LANGUAGE_NONE. ']"]' => array( 'value' => 'hide' ),
);
Isso parece não fazer nada.
Procurei alterar o peso do meu módulo de acordo com vários sites como http://proofgroup.com/blog/2008/dec/modifying_cck_fieldgroups_hook_form_alter .
mas ainda sem sucesso. Posso ocultar todos os elementos do formulário no grupo de campos usando estados, mas não o próprio grupo de campos. Alguém tem alguma ideia?
7
javascript
thepearson
fonte
fonte
Respostas:
Eu uso esse gancho para ocultar meu grupo de campos. É visível apenas se a caixa de seleção
field_myfield
estiver marcada.Para explorar a
$element
variável neste gancho, useiem vez de
dpm()
.Espero que tenha ajudado :)
fonte
Grupos de campo não são definidos na raiz de
$form
. Parece que você não deve usar$form['group_mygroup']
, mas$form['#fieldgroups']['group_mygroup']
.fonte
Você pode ver o módulo de exemplo para ver como eles ocultam conjuntos de campos . Com base nisso, acho que seu código deve ser:
fonte