0

別のノードではなく、ノードのコンテンツに表示するためにhook_node_viewを使用しています。

function mymodule_node_view($node, $view_mode, $langcode) {
  if ($node->nid == 89) {
    $room = node_load(90);

    $node->content['mymodule_additional_content'] = node_view($room);
  }
}

ノード90のテンプレートには、「ROOM」テキスト(テスト用)が表示されます。

しかし、これが「ROOM」の代わりに表示されるものです:

部屋

言語フランス語

ガバリット:

pages / chambres.tpl.php

何か案が ?

編集:5行目を:に置き換えた場合

    $node->content = array('mymodule_additional_content' => node_view($room));

したがって、以前に$ node-> contentに追加された他のすべてのコンテンツを削除すると、次の結果が得られます。

部屋

言語フランス語

つまり、フックが呼び出された後に「LanguageFrançais」が追加されます。しかしここで ?

4

1 に答える 1

0

@Cliveからの有効な回答:

あなたの後に実行される同じフックを実装する別のモジュールになるため、変更が追加されます。モジュールの重みガイドを更新する方法に従って、モジュールのフックを他のフックの後に実行してみてください。これでうまくいくはずです。

于 2012-10-31T13:59:53.773 に答える