当使用 EntityReference 字段并在 hook_form_alter() 中使用 ['access'] 隐藏该字段时,提交表单后 $form_state 输入对于该字段为空。
我有字段 field_to_a ,它是内容类型 B 上的实体引用字段,它引用内容类型 A。
我正在使用 hook_form_alter() 在其中我使用类似的行$form['field_to_a']['#access'] = FALSE;
并将此字段设置为某个值
当我在节点上按下提交按钮(我的保存按钮)时,添加:
- 当我使用时
$form['field_to_a']['#access'] = FALSE;
:我失去了 $form_state['input']['field_to_a'] (不存在)和$form['field_to_a']['und'][0]['target_id']['#default_value']
(空)并且我有 PHP 错误。 - 当我使用 NOT 时
$form['field_to_a']['#access'] = FALSE;
:我有 $form_state['input']['field_to_a'] 正确并且节点被保存而没有任何错误。
当我使用任何其他字段时,我可以使用 ['#access'] = FALSE 并且不会丢失 $form_state 中该字段的输入。
这件事有什么解决方案或解决方法吗?这是错误还是正常行为?
谢谢