如何在NodeReference字段中删除节点ID [nid:n]

时间:2010-04-30 10:47:54

标签: drupal drupal-6 cck drupal-fapi

这是与此链接相同的问题:

Removing [nid:n] in nodereference autocomplete

根据第一个答案(Grayside)我创建了自己的模块并激活了。然后我创建了一个新内容,我在nodereference字段中查找并最终选择它 - >它有效(不出现[nid:n])。

但是,当我查看/预览或保存或编辑内容时,[nid:n]会再次出现。

任何人都可以帮助我?

2 个答案:

答案 0 :(得分:0)

查看节点时,它是确定显示内容的字段的主题功能,因此如果要更改输出,则需要覆盖它。

编辑节点时的值由#default_value属性决定,因此您需要更改hook_form_alter()

答案 1 :(得分:0)

感谢您的回答。

我找到了解决方案。 (至少在我的情况下)

我更改了此文件的代码:

  

drupal的\模块\ CCK \ CCK \模块\ nodereference.module

function nodereference_autocomplete_value($element, $edit = FALSE)
{
  ...
  // $value .= ' [nid:'. $nid .']';    --> Comment this line
  return array($field_key => $value);
}

效果很好!在任何情况下都不会出现:未从列表中选择,也不在保存,编辑等时

问候!