我遇到了同样的问题,但找不到解决方案。在尝试了很多事情之后,结果证明是简单到不合逻辑的事情。好吧,在 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)可以在此处定义。
希望对你有所帮助!