Изменение разметки комментариев к потокам в Drupal 6 - PullRequest
0 голосов
/ 14 января 2010

Я здесь с неприятным вопросом.

Комментарии в Drupal дают пользователю возможность отображать их только 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>

Но я бы хотел, чтобы комментарий 'children' находился внутри того же элемента dom комментария 'parent'. Так, например, что-то вроде:

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

Используется разметка, например:

<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 или шаблонах)?

1 Ответ

1 голос
/ 14 января 2010

comment_render () , кажется, все делает внутренне.Так что вам нужно переписать это.К сожалению, если вы используете node_show () для рендеринга ваших узлов, comment_render будет запускаться автоматически (не через переопределяемую функцию темы), поэтому вам потребуется проделать довольно большую работу, чтобы заставить это делать то, что вы хотите,

Во-первых, вам нужно будет использовать hook_nodeapi , чтобы убедить ядро ​​друпала в том, что комментариев нет (* * * * * * * * * *)

1012 *

Затем вам нужно написать собственную реализацию comment_render (с вложением) и вызвать его после визуализации узла (возможно, на странице шаблона или в функции предварительной обработки).

...