В Drupal 7 появился новый вид группировки полей — Vertical Tabs:
Чтобы воспользоваться такими вкладками в свой форме, нужно:
1. Сгруппировать поля в обычные fieldset-ы:
$form['fieldset1'] = array(
'#type' => 'fieldset',
'#title' => 'Fieldset 1',
);
$form['fieldset1']['field1'] = array(
'#type' => 'textfield',
'#title' => 'Field 1',
);
$form['fieldset1']['field2'] = array(
'#type' => 'textfield',
'#title' => 'Field 2',
);
$form['fieldset2'] = array(
'#type' => 'fieldset',
'#title' => 'Fieldset 2',
);
$form['fieldset2']['field3'] = array(
'#type' => 'textfield',
'#title' => 'Field 3',
);
...
2. Добавить к форме новый элемент с типом vertical_tabs:
$form['vertical_tabs'] = array(
'#type' => 'vertical_tabs',
);
3. Добавить fieldset-ам новый параметр '#group', в котором прописать имя элемента из пункта 2:
$form['fieldset1'] = array(
...
'#group' => 'vertical_tabs',
);
$form['fieldset2'] = array(
...
'#group' => 'vertical_tabs',
);
Profit.
Полный листинг:
$form['vertical_tabs'] = array(
'#type' => 'vertical_tabs',
);
$form['fieldset1'] = array(
'#type' => 'fieldset',
'#title' => 'Fieldset 1',
'#group' => 'vertical_tabs',
);
$form['fieldset1']['field1'] = array(
'#type' => 'textfield',
'#title' => 'Field 1',
);
$form['fieldset1']['field2'] = array(
'#type' => 'textfield',
'#title' => 'Field 2',
);
$form['fieldset2'] = array(
'#type' => 'fieldset',
'#title' => 'Fieldset 2',
'#group' => 'vertical_tabs',
);
$form['fieldset2']['field3'] = array(
'#type' => 'textfield',
'#title' => 'Field 3',
);
...
Написанное актуально для
Drupal 7