フィールドセットを非表示にするには、CtoolsDependencyを使用しています。これは私のコードの一部です:
$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,
);
上記のスニペットには、selectとfieldsetの2つの要素があります。どちらにも#processパラメーターと#dependencyパラメーターがあり、どちらも依存値の1つのフィールドを指します。問題は、selectやtextfieldなどの要素を簡単に非表示にできるが、フィールドセットでは機能しないことです。このサポートリクエストページで、CToolsの作成者はそれが回避策であると述べています'#input' => true
。ご覧のとおり、コードに追加しましたが、うまく機能しません。
何か提案はありますか?