drupal - 删除 [nid :n] in nodereference autocomplete

标签 drupal drupal-6 cck

使用 cck 节点引用的自动完成字段始终将节点 ID 显示为隐蔽的括号扩展:

Page Title [nid:23]

我知道这可以确保在节点具有相同标题的情况下选择是唯一的,但显然这对用户来说是一件令人讨厌的事情。

有没有人成功删除这些括号或添加不同的唯一标识符?

最佳答案

最终,您需要更改 nodereference_autocomplete() 的输出在 nodereference.module 中。

要正确执行此操作,您需要一个自定义模块来干净地覆盖该函数。

这个函数被定义为一个菜单回调,因此,

/**
 * Implementation of hook_menu_alter().
 */
function custom_module_menu_alter(&$items) {
  $items['nodereference/autocomplete']['page callback'] = 'custom_module_new_nodereference_autocomplete';
}

然后,将 nodereference_autocomplete 函数复制到您的自定义模块中,更改其名称以匹配您的回调。然后改变这一行:
$matches[$row['title'] ." [nid:$id]"] = '<div class="reference-autocomplete">'. $row['rendered'] . '</div>';

删除nid 引用。
$matches[$row['title']] = '<div class="reference-autocomplete">'. $row['rendered'] . '</div>';

我相信此时标识符纯粹是装饰性的,这意味着您也可以随意更改文本。如果它不是纯粹的装饰,那么,我还没有测试过在错误的条件下会发生什么。

我一直想确定如何做到这一点。谢谢你用你的问题激励我。

关于drupal - 删除 [nid :n] in nodereference autocomplete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1515722/

相关文章:

drupal - 匿名用户 : You are not authorized to access this page. 权限正常

Drupal, View : trimming text doesn't work because tags are not closed properly

javascript - 在 Google map 中模拟点击

drupal - 基于 drupal 中的 cupon 代码编程竞赛

drupal - 使用 ORed 标准过滤 Drupal View

mysql - 在MYSQL中查找具有不同拼写的重复记录

php - 作为随机数的 CCK 字段

php - 通过表单将文件上传到 Drupal 7 后,如何获取文件的路径?

security - SSL:为什么 Chrome 会报告混合内容? (德鲁帕尔 6)

drupal - 防止 form_token 在 Drupal "GET"表单中呈现