改变线程的评论意见的标记在推6
题
我在这里有一个讨厌的问题。
推处理意见给予用户的选择,以显示。只是在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(筑巢),并呼吁后的节点被呈现的(可能在您的模板页面,或在一个预处理功能)。
不隶属于 StackOverflow