Группируем поля в вертикальные вкладки (Vertical Tabs)

В 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
Теги:
работа с формами
Добавлено: 29 Июля 2018 22:31:00 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...