У меня есть пользовательский модуль, и я пытаюсь скрыть группу полей CCK, используя "#states", когда определенный элемент выбран в раскрывающемся списке выбора.
Я попытался использовать состояния из hook_form_alter (), вот так:
$form['group_mygroup']['#states']['invisible'] = array(
':input[name="field_trigger[' . LANGUAGE_NONE. ']"]' => array( 'value' => 'hide' ),
);
Кажется, это ничего не делает.
Я смотрел на изменение веса моего модуля в соответствии с различными сайтами, такими как http://proofgroup.com/blog/2008/dec/modifying_cck_fieldgroups_hook_form_alter .
но все равно безрезультатно. Я могу скрыть все элементы формы в группе полей, используя состояния, но не саму группу полей. У кого-нибудь есть идеи?
7
javascript
thepearson
источник
источник
Ответы:
Я использую этот хук, чтобы скрыть свою группу полей. Это видно только если флажок
field_myfield
установлен.Чтобы исследовать
$element
переменную в этом хуке, я использовалвместо
dpm()
.Надеюсь, это помогло :)
источник
Группы полей не определены в корне
$form
. Кажется, вы не должны использовать$form['group_mygroup']
, но$form['#fieldgroups']['group_mygroup']
.источник
Вы можете посмотреть на пример модуля, чтобы увидеть, как они скрывают наборы полей . Исходя из этого, я думаю, что ваш код должен быть:
источник