2

これは、このリンクの同じ質問です:

nodereference オートコンプリートで [nid:n] を削除する

最初の回答 (Grayside) によると、独自のモジュールを作成してアクティブ化しました。次に、新しいコンテンツを作成し、nodereference フィールドを調べて、最後にそれを選択します -> 動作します ([nid:n] は表示されません)。

しかし、コンテンツを表示/プレビューまたは保存または編集すると、[nid:n] が再び表示されます。

誰でも私を助けることができますか?

4

2 に答える 2

0

答えてくれてありがとう。

私は解決策を見つけました。(少なくとも私の場合)

このファイルのコードを変更します:

drupal \ modules \ cck \ cck \ modules \ nodereference.module

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

それは非常にうまくいきます!いずれの場合も表示されません:リストから選択されていない、または保存、編集などの場合。

よろしく!

于 2010-05-03T09:11:26.373 に答える
0

ノードを表示するとき、表示される内容を決定するのはフィールドのテーマ機能であるため、出力を変更する場合は上書きする必要があります。

ノードを編集するときの値は、#default_valueプロパティによって決定されるため、自分で変更する必要があります。hook_form_alter()

于 2010-04-30T11:42:24.743 に答える