J'ai un module personnalisé et j'essaie de masquer un groupe de champs CCK en utilisant "#states" lorsqu'un certain élément est sélectionné dans une liste déroulante de sélection.
J'ai essayé d'utiliser des états depuis hook_form_alter (), comme ceci:
$form['group_mygroup']['#states']['invisible'] = array(
':input[name="field_trigger[' . LANGUAGE_NONE. ']"]' => array( 'value' => 'hide' ),
);
Cela ne semble rien faire.
J'ai cherché à changer le poids de mon module selon divers sites comme http://proofgroup.com/blog/2008/dec/modifying_cck_fieldgroups_hook_form_alter .
mais toujours en vain. Je peux masquer tous les éléments du formulaire dans le groupe de champs en utilisant des états mais pas le groupe de champs lui-même. Est-ce que quelqu'un a une idée?
7
javascript
thepearson
la source
la source
Réponses:
J'utilise ce crochet pour masquer mon groupe de champs. Il n'est visible que si la case
field_myfield
est cochée.Pour explorer la
$element
variable dans ce crochet, j'ai utiliséau lieu de
dpm()
.J'espère que cela a aidé :)
la source
Les groupes de champs ne sont pas définis à la racine de
$form
. Il semble que vous ne devriez pas l'utiliser$form['group_mygroup']
, mais$form['#fieldgroups']['group_mygroup']
.la source
Vous pouvez consulter l' exemple de module pour voir comment ils masquent les ensembles de champs . Sur cette base, je pense que votre code devrait être:
la source