这是该链接的同一个问题:如何删除节点ID:在NodeReference领域[NID N]
Removing [nid:n] in nodereference autocomplete
与第一个答案(Grayside)我已经创建了自己的模块并激活根据。然后我创建一个新的内容,我在nodereference字段中查找并最终选择它 - >它有效(不会出现[nid:n])。
但是,当我查看/预览或保存或编辑内容时,[nid:n]再次出现。
有人可以帮助我吗?
这是该链接的同一个问题:如何删除节点ID:在NodeReference领域[NID N]
Removing [nid:n] in nodereference autocomplete
与第一个答案(Grayside)我已经创建了自己的模块并激活根据。然后我创建一个新的内容,我在nodereference字段中查找并最终选择它 - >它有效(不会出现[nid:n])。
但是,当我查看/预览或保存或编辑内容时,[nid:n]再次出现。
有人可以帮助我吗?
查看节点时,它是字段的主题函数,用于确定显示的内容,因此如果要更改输出,则需要覆盖它。
当你编辑节点的值,由#default_value
性质决定的,所以你需要在你hook_form_alter()
感谢您的回答改变。
我找到了解决方案。 (在至少我的情况)
我改变这个文件的代码:
的Drupal \模块\ CCK \ CCK \模块\ nodereference.module
function nodereference_autocomplete_value($element, $edit = FALSE)
{
...
// $value .= ' [nid:'. $nid .']'; --> Comment this line
return array($field_key => $value);
}
它的工作原理很好!不会出现在任何情况下:不在列表中选择,也不在保存,编辑等时
关心!