Как показать комментарии на узлах, которые находятся на домашней странице Drupal 7 по умолчанию (повышен)? - PullRequest
1 голос
/ 24 сентября 2011

У меня есть установка Drupal 7 с титульной страницей по умолчанию и несколькими узлами статьи, «продвинутыми на титульную страницу». Они отображаются в виде тизеров и в node - article.tpl.php У меня есть шаблон для моих тизеров, и все это прекрасно работает. Узлы тизеров отображаются как положено.

На каждом тизере есть ссылка с надписью «Посмотреть полную версию». Я хочу использовать Ajax, чтобы развернуть тизер в полную историю на домашней странице (у меня есть несколько причудливых анимаций и т. Д., Но это не главное)

Итак, у меня есть специальный модуль, который принимает параметр nid, загружает узел и возвращает его в мой javascript / jQuery. Я использую функцию jQuery.load(), чтобы сделать этот запрос.

Это снова все работает нормально, тизер заменяется полной версией узла, которая использует тот же узел - article.tpl.php, чтобы определить его внешний вид.

Проблема в том, что у меня включены комментарии к статьям и на отдельной странице статей, форма и комментарии отображаются нормально, но при загрузке через ajax, как описано выше, комментарии не отображаются вместе с остальной частью полного узла .

Это из-за того, что это первая полоса? У меня есть print_r 'массив $content, и я вообще не вижу там комментариев. Есть ли простой обходной путь для этого или мне придется написать небольшой модуль, чтобы вручную захватить комментарии и форму комментариев и добавить их к моим узлам после загрузки?

1 Ответ

0 голосов
/ 24 сентября 2011

Проблема в том, что node_load (который я предполагаю, что ваш модуль использует) не загружает комментарии. Вам нужно изменить модуль так, чтобы он захватывал их, что-то вроде:

$comments = db_select('comment','c')
                       ->condition('nid', $nid, '=')
                       ->execute()
                       ->fetchAssoc();
...