我在这里有一个讨厌的问题。

推处理意见给予用户的选择,以显示。只是在4个方面: Flat list - collapsed, Flat list - expanded, Threaded list - collapsed, , Threaded list - expanded.

用最后一个,其中提供的标记如:

<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>

为了有一个标记,请允许我表明的螺纹的意见作 这个博客的 (内容)。

它使用一个标记,如:

<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() 似乎做的一切内部。所以你会需要改写这一点。不幸的是如果您使用 node_show() 呈现你的节点comment_render将被自动运行(没有通过一个可复盖的主题功能),所以你需要做很多的工作得到这来做什么你想要的。

首先,你会有用 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(筑巢),并呼吁后的节点被呈现的(可能在您的模板页面,或在一个预处理功能)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top