Forms Drupal:#重量和形状

Forms Drupal:#重量和形状,forms,drupal,Forms,Drupal,我正在编写一个模块,其中包含一组按钮的字段集使用hook\u form\u alter添加到编辑/添加节点表单中 字段集(按钮)应该连接到字段的某个小部件。例如,可能是内容类型为“myContentType”的body字段小部件。我总是希望字段集和字段的小部件以表单的形式放在一起,最好是与小部件上方的字段集放在一起。所以为了实现这一点,我想我应该使用表单元素的#weight属性 因此,在hook_form_alter I set中: $form['buttonFieldset'][#weight

我正在编写一个模块,其中包含一组按钮的字段集使用hook\u form\u alter添加到编辑/添加节点表单中

字段集(按钮)应该连接到字段的某个小部件。例如,可能是内容类型为“myContentType”的body字段小部件。我总是希望字段集和字段的小部件以表单的形式放在一起,最好是与小部件上方的字段集放在一起。所以为了实现这一点,我想我应该使用表单元素的#weight属性

因此,在hook_form_alter I set中:

$form['buttonFieldset'][#weight] = $form['body']['#weight'] - 1; 

之后,我签入$form数组,按钮字段的权重设置为一个比相关小部件小的权重。我以为这会把它放在身体的文本区域正上方,但这并没有发生。有人知道为什么吗?或者通过其他方式来实现我的目标?

尝试将fielsdset权重设置为body字段的权重,并将body字段移到列表中较低的位置。因此:

$form['buttonFieldset']['#weight'] = $form['body']['#weight'];
...
$form['body']['#weight'] = $form['body']['#weight'] + 1;
这是有效的,尤其是当你的标题直接位于body字段上方时,因为Drupal似乎不喜欢移动标题字段,尽管更改了标题字段的
#weight
。我无法向上移动
标题
,以便在
标题
正文
之间插入内容,但我可以向下移动
正文