Как напечатать одну ветку комментариев в Drupal? - PullRequest
0 голосов
/ 18 декабря 2010

Я хочу сделать страницу, которая содержит один комментарий И все ответы на него.Пока что не повезло: я могу вызвать comment_render на узле и нужный идентификатор комментария (см. Также Как мне напечатать один комментарий в drupal? ), но это просто дает мне комментарий, а не ответы.

Копание таблицы комментариев заставляет меня думать, что решение должно было бы прорваться через поля cid и pid, которые реализуют поток, но я не понимаю, как это сделать таким образом, чтобы это можно былопрошел через pager_query для обработки возможности большого количества ответов.Есть какие-нибудь мысли?Спасибо!

1 Ответ

0 голосов
/ 20 декабря 2010

Для будущих посетителей: у меня есть кое-что работающее, что, на мой взгляд, не слишком страшно:

1: Извлечь все комментарии на данном узле из {comments}.

2. Просмотрите эти комментарии, начиная с CID: просмотрите дерево ответов на исходный комментарий и соберите массив начального CID и все обнаруженные ответы.

3: Создайте временную таблицу, выбрав из {комментариев} только те, чей NID равен начальному узлу, а чей CID - один из тех, которые найдены при обходе дерева.

4: Рукаэта временная таблица переходит во взломанную версию comment_render, которая работает с временной таблицей вместо {comments}.

5: выведите результат.

6: Прибыль!

Или, похоже, так или иначе.Вероятно, это означает отслеживание comment_render по мере выпуска новых версий, но я предполагаю / надеюсь, что сейчас это довольно стабильный код.Мысли об относительной мудрости этого, конечно, приветствуются.

...