Я использую зависимость Ctools, чтобы сделать набор полей скрытым. Это часть моего кода:Drupal: Как сделать зависящий от поля набор с помощью CTools
$form['profile-status'] = array(
'#type' => 'radios',
'#title' => '',
'#options' => array(
'new' => t('Create a new profile.'),
'select' => t('Use an existing profile.'),
),
);
$form['select'] = array(
'#type' => 'select',
'#title' => t('Select a profile'),
'#options' => $options,
'#process' => array('ctools_dependent_process'),
'#dependency' => array('radio:profile-status' => array('select')),
);
$form['profile-properties'] = array(
'#type' => 'fieldset',
'#title' => t('View the profile'),
'#process' => array('ctools_dependent_process'),
'#dependency' => array('radio:profile-status' => array('select')),
'#input' => true,
);
В фрагменте выше, Есть два элемента, один выбор и один набор полей. Оба имеют параметры #process и #dependency и оба указывают на одно поле для зависимого значения. Проблема заключается в том, что элементы, такие как select или текстовое поле, могут быть легко спрятаны, но это не работает для набора полей. В this странице запроса поддержки, создатель CTools отметил, что '#input' => true
- это работа. Как вы видите, я добавил его в код, но он не работает.
Есть ли у вас какие-либо предложения?