你可以使用hook_form_alter.您可以通过编程方式更改表单api构建的内容.这为您提供了完整的$ form数组,您可以简单地使用它unset($form['the_field_you_dont_want']);.
但是更容易摆脱身体字段的方法是在编辑内容类型中有一个标记为"正文字段标签:"的字段,只需将此字段留空即可省略正文字段.
小智 9
unset似乎也破坏了价值,#access财产也是如此.我只是用它来隐藏一个字段(在这种情况下是一个引用,如果它是使用URL预设的:
$form['field_reference']['#prefix'] = "<div class='hide'>";
$form['field_reference']['#suffix'] = "</div>";
Run Code Online (Sandbox Code Playgroud)
这里找到的解决方案https://drupal.stackexchange.com/questions/11237/hide-field-in-node-add-page非常适合我.在这里,我重复moon.watcher的解决方案:
function test_remove_filed_form_alter(&$form, &$form_state) {
if (arg(0) == 'node' && arg(1) == 'add') {
$form['field_test']['#access'] = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
使用unset()的缺点是它将完全删除该字段,并且您无法继续使用,例如,在节点预设上.在我的情况下,我只想在第一时间从表单中删除该字段,但我想在以后保存节点之前填充它.由于这个原因,上面链接上的解决方案对我来说非常合适.