1

前の問題: MakeMeetingモジュールを使用して、会議の投票を作成/表示しています。このモジュールには独自のコンテンツ タイプがあり、画面にコメントを表示できません (コメントを表示するか、同じページに表示するか、このノード タイプのコメント設定で選択しないかに関係なく)。MakeMeeting モジュールには独自のテーマ関数がありますが、私の知る限り、Drupal はモジュールによって生成されたデータにコメントを追加する必要があるため、おそらく問題はありません。

これにより、2 つの関連する質問が発生します。

1) カスタム コードを使用して、カスタム CKK ノードにコメント機能を表示するにはどうすればよいですか? ほとんどの場合、このコードを node-typename.tpl.php に追加する必要があります

2) コメントが表示されない理由、どこを確認すればよいか (関数呼び出し、変数名など) をデバッグするにはどうすればよいですか。

ありがとう!

4

1 に答える 1

2

コメントはいくつかの場所で処理されます。最も重要なのは、おそらくノード テンプレート ファイルと template.php ファイルです。そのため、ノードのコメントが表示されない場合 (ただし、他のノード タイプの場合)、問題が発生する可能性のある場所は限られています。

  1. 最も重要な場所は、おそらくノードが表示されるときに使用されるテンプレート ファイルです。しかし、これがサイト内の他のノード タイプと同じであり、コメントがそこに表示される場合、これは問題にはなりません。
  2. その後、template.php ファイルに移動し、preprocess_node 関数を確認します。ここで、テーマは独自のロジックを実行して、コメントを表示するかどうかを決定できます。
  3. 3 番目のオプションは、テーマがコメントに使用されるテーマ関数の独自のテーマ関数を実装している場合です。使用されているのはtheme_comment_view()だと思います。

モジュールのコードを調べましたが、この問題の原因ではないようです。ただし、実際のノードを表示していると思っても、実際のノードを表示していない可能性があります。これが最も可能性の高い理由です。ノード自体を表示するのではなく、モジュールによって生成されたページを表示していること。モジュールが定義したものを見るだけなので、これで問題が説明できます。これに対する解決策は、使用するテンプレート ファイルにノード コメントを含めることです。モジュールが多くのテンプレート ファイルを実装していることがわかったので、変更が必要なファイルのコピーを取得し、そこにコメントを出力するコードを追加できます。テンプレート ファイルに印刷できる実際のテーマ バージョンのコメントを取得するには、前処理関数 (template.php 内) でいくつかのコードを使用する必要がある場合があります。

とにかく、これらは多くの提案または推測にすぎませんが、これが役立つかどうかはわかりません. しかし、これらは私が見始めるものです。

于 2009-11-12T14:56:15.783 に答える