У меня была такая же проблема, и я не мог найти решение.Перепробовав многие вещи, это оказалось так же просто, как и нелогично.Ну, в глазах новичка Drupal.
Сначала у меня было что-то вроде этого (урезанная версия):
$element['mymodulefieldset'] = array(
'#title' => 'Fieldset title',
'#type' => 'fieldset',
);
и добавленные поля к набору полей:
$element['mymodulefieldset']['fieldname'] = array(
'#title' => "Field title",
'#type' => 'textfield',
'#default_value' => '',
);
Попробовав множество различных сценариев, я обнаружил, что следующие строки кода работают (вроде).Вместо вставки набора полей я превратил элемент в набор полей следующим образом:
$element += array(
'#type' => 'fieldset',
'#tree' => true
);
Затем я добавил поля к элементу:
$element['fieldname'] = array(
'#title' => "Field title",
'#type' => 'textfield',
'#default_value' => '',
);
Примечание: некоторые переменные, такие как #title и#weight контролируется «Домой» Администрирование »Структура» Типы контента »[ТИП ВАШЕГО КОНТЕНТА]», другие (например, #collapsible и #collapsed) могут быть определены здесь.
Надеюсь, это поможет вам!*