1

私のモジュールでは、hook_node_view を使用して、コンテンツが表示されたときにコンテンツを変更します。これを行うには、$node->content['body'][0]['#markup'] を取得して設定します。問題なく動作しますが、最近ティーザー ビューで問題が発生したため、$node->content['body'][0]['#markup'] から取得したデータに問題を追跡しました。

その中にあるものは、少なくとも表示モードに依存しているようです。なぜなら、私が書くなら

print $node->content['body'][0]['#markup'];

モードが「フル」の場合と「ティーザー」の場合のどちらでも、異なる結果が得られます。何らかの理由で、コンテンツをティーザーとして表示すると、$node->content['body'][0]['#markup'] のコンテンツが非常に短くなります。ティーザーの長さよりも短いです。

これにより、$node->content['body'][0]['#markup'] には何があり、いつ、どこに設定されているのでしょうか?

4

1 に答える 1

0

hook_node_view を使用する代わりに、hook_node_load を使用することをお勧めします。

http://api.drupal.org/api/drupal/modules%21node%21node.api.php/function/hook_node_load/7

于 2012-08-29T23:15:11.837 に答える