Бывает, что нужно вывести комментарии и форму их добавления в отдельном блоке, например, для вывода комментариев в табах quick tabs. Итак приступим
Создаем Views типа комментарии. В этом views создаем дисплей типа Блок. В нем вывод полей содержимого и заголовков комментариев.
Комментарий: Заголовок
Комментарий: Содержимое
В аргументах указываем следующее:
Комментарий: Nid
Подставим аргумент Nid "по умолчанию", PHP-Код и туда вписываем:
$path = $_GET['q'];
$path = explode('/', $path);
return $path[1];
В подвале нашего виевс выводим форму добавления комментариев. Для этого пишем туда следующий php код:
<?php
$path = $_GET['q'];
$path = explode('/', $path);
$nid_comment = $path[1];
$formComment = drupal_get_form('comment_form', array('nid' => $nid_comment ));
echo $formComment;
?>
Сохраняем views, выводим блок где нам нужно. Профит.
Оригинал статьи здесь
Комментарии
то в таком случае человеку нужно искать другое решение. Вы можете предложить универсальное?
$_GET['q']
вернет системный путь, а не алиасвместо
$_GET['q']
и эксплода можно пользоваться функцией arg(), например так:$nid_comment = (arg(0)=='node' ? arg(1) : NULL);
Небольшой оффтоп: где в Drupal 6 можно указать, сколько максимально комментариев будет выводиться на странице?
Вроде как в настройках можно. На странице редактирования типа материала admin/structure/types/manage/page
Сообщение системы: Страница не найдена. Такой адрес не существует в друпал 6.
Уже нашел, для "заметки" кол-во выводимых комментов устанавливается тут: /admin/content/node-type/story
Вообще, у меня проблема в том, что в шестом друпале есть баг с адресами комментариев выводимых на последующих страницах. Т.е. если установлено количество выводимых комментов 10 то одинадцатый комментарий не выводится при нажатии на его ссылку, например в блоке "Последние комментарии". Ссылка создается без учета следующей страницы комментариев, как-будто коммент на первой странице. Я решил поставить максимальное число выводимых комментариев 300, чтобы страница с комментами была только одна, хотя и такое кол-во тоже может переполниться. Тогда не знаю, что буду делать. Может кто знает как бороться с этим багом?
Не могу не поделиться своим результатом в этом вопросе.
Ветка, конечно, старовата, но вот мой ответ, который я нашёл здесь.
Мне нужно было вставить кое-что между контентом и комментами (Drupal 7).
Пробовал и вьюху и модуль Commentsblock - суть одна - вьюха с блоком у которой получилось только воссоздать правильный порядок комментов (учитывая отношения комментов родители-дети при ответах):
- в отношениях ставишь: "Комментарий:родительский комментарий".
- убираешь сортировку по дате публикации.
- ставишь сортировку "Комментарий: Тема обсуждения" (которая становиться доступной после отношения с род. термином.)
- связь "Родительский комментарий" в сортировке выбирать не надо, почему-то.
Но никак не получалось воссоздать отступы справа (визуальную иерархию).
Решение не могло не найтись после многих мозговых штурмов.
Решил всё без Views.
В общем, создаём блок в котором такой код:
<?php
//загружаем ноду по системному URL
$node = node_load(arg(1));
//получаем подготовленные к рендеру комментарии и форму.
$viewComs = comment_node_page_additions($node);
print drupal_render($viewComs);
?>
Надеюсь будет полезно кому-нибудь.
Владислав888, мне было полезно. У меня как раз ситуация, когда нужно между нодой и комментами вставить капчу.
Рад, что оказалось полезным