質問

厄介な質問とここに

IMます。

Drupalはわずか4通りの方法でユーザーにthemsを表示するための選択肢を与えてコメント扱い:。Flat list - collapsedFlat list - expandedThreaded list - collapsed、およびThreaded list - expanded

イムのようなマークアップを提供し、最後の1を、使用します:

<div class="comment">
    <!-- comment's content -->
</div>
<div class="indented">
    <!-- next comment is an 'answer' to the previous comment! -->
    <div class="comment">
        <!-- comment's content -->
    </div>
</div>

しかし、私は、「親」のコメントの同じDOM要素内の「子どもの意見を持っていると思います。 したがって、たとえば、何かます:

<div class="comment">
    <!-- comment's content -->
    <div class="indented">
        <!-- next comment is an 'answer' to the previous comment! -->
        <div class="comment">
            <!-- comment's content -->
        </div>
    </div>
</div>

私は<のhref =「http://css-tricks.com/curating-comments-threads/#comment-67794」のrel =「nofollowをnoreferrer」としてスレッドのコメントを表示できるようにするマークアップを持っているために、 >(ワードプレスを使用して)このブログではありません。

これは、のようなマークアップを使用します:

<ul>
    <li>
        <div class="comment>
            <!-- comment's content -->
        </div>
        <ul class="children">
            <li>
                <div class="comment>
                    <!-- comment's content -->
                </div>
            </li>
        </ul>
    </li>
</ul>

だから、それを行うには、のdrupalish の方法は何である(より良い私が必要とするすべての変更がtemplate.phpまたはテンプレートファイルにある場合)?

役に立ちましたか?

解決

comment_render()には、内部ですべてを行うようです。だから、これを書き換える必要があります。残念ながら、あなたが実行されますcomment_renderあなたのノードをレンダリングするために node_show()に使用している場合、自動的に(オーバーライドテーマ機能を経由していない)ので、あなたがやりたい、これを取得するために仕事のかなり多くを行う必要があります。

まず、あなたは何があることをDrupalのコアを説得しないように hook_nodeapi して使用する必要がありますコメント(これを行うに話モジュール)

function talk_nodeapi(&$node, $op) {
  switch ($op) {
    case 'load':
      if (talk_activated($node->type) && arg(0) == 'node' && !arg(2)) {
        // Overwrite setting of comment module and set comments for this node to disabled.
        // This prevents the comments of being displayed.
        $output['comment_original_value'] = $node->comment;
        $output['comment'] = 0;
        return $output;
      }
      break;
  }
}

次に、あなたは(ネスティングで)comment_renderの独自の実装を書いて、(おそらくあなたのテンプレートページ上や前処理機能で)ノードが描画された後にその呼び出しが必要になります。

scroll top