我在 Drupal 7 中有一个节点表单,为了为用户简化它,我想使用垂直选项卡功能将它分成几个部分。
使用 hook_form_FORMID_alter() 我可以毫不费力地移动字段。保存节点时,它会正确写入值,并且它们会出现在节点 View 中。
但是当我重新编辑节点时,移动字段的任何值都没有设置,所以我实际上丢失了数据。我尝试了各种选项,包括更改 form_state['fields'][field][langcode] 中的 array_parents 值。
(我想知道在 pre_render 期间移动字段是否会更好。)
有什么想法吗?
最佳答案
字段 API 字段默认放置在容器字段类型中。如果要将它们转换为垂直选项卡中的字段集,可以执行以下操作:
$form['field_tags']['#type'] = 'fieldset';
$form['field_tags']['#title'] = 'Tags';
$form['field_tags']['#group'] = 'additional_settings';
更好的解决方案是使用新的 Field Group module因此您可以通过 UI 而不是代码进行这些修改。
关于drupal - 为什么我不能将字段移动到 Drupal 表单中的字段集中 - 无法获取当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4861441/