Php 更改Drupal 6中的线程注释标记

Php 更改Drupal 6中的线程注释标记,php,drupal,drupal-6,theming,Php,Drupal,Drupal 6,Theming,我是来问一个讨厌的问题的 Drupal处理注释,使用户可以通过4种方式选择显示主题:平面列表-折叠,平面列表-展开,线程列表-折叠,以及线程列表-展开 我使用的是最后一个,它提供了如下标记: <div class="comment"> <!-- comment's content --> </div> <div class="indented"> <!-- next comment is an 'answer' to the

我是来问一个讨厌的问题的

Drupal处理注释,使用户可以通过4种方式选择显示主题:
平面列表-折叠
平面列表-展开
线程列表-折叠
,以及
线程列表-展开

我使用的是最后一个,它提供了如下标记:

<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>
<ul>
    <li>
        <div class="comment>
            <!-- comment's content -->
        </div>
        <ul class="children">
            <li>
                <div class="comment>
                    <!-- comment's content -->
                </div>
            </li>
        </ul>
    </li>
</ul>

但我希望“children”注释位于“parent”注释的同一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>

为了有一个标记,允许我像(使用wordpress)那样显示线程注释

它使用如下标记:

<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>
<ul>
    <li>
        <div class="comment>
            <!-- comment's content -->
        </div>
        <ul class="children">
            <li>
                <div class="comment>
                    <!-- comment's content -->
                </div>
            </li>
        </ul>
    </li>
</ul>
  • 似乎一切都是内部的。所以你需要重写这个。不幸的是,如果您正在使用渲染节点,则comment_render将自动运行(而不是通过可重写的主题函数),因此您需要做大量的工作才能实现您的目的

    首先,您必须使用以使drupal core确信没有注释(这样做)

    然后,您需要编写自己的comment_render实现(带有嵌套),并在呈现节点后调用它(可能在模板页面上或在预处理函数中)