Как выводить под нодой в Drupal 7 избранные комментарии?

Необходимо вывести блоком, под основным содержанием, избранные редактором комментарии из 5 штук. Например, статья про лютики комментируется с дюжиной троллей, а редактор условно выбрал из них адекватов, и определил комментарий каждого из них как ценный, экспертный; этот ценный комментарий должен быть выведен в блок, над всеми комментариями. Этакая социальная примочка. Есть условие использовать как можно меньше модулей, и упростить реализацию по возможности. Прежде всего, нам понадобится набор удобных модулей flags и views. Модуль flags поможет маркировать комментарий, а представление поможет создать блок с заданными фильтрами и дальше строить... Какие мысли? Что можно придумать? Как выводить избранные комментарии? По традиции, схематически, опишу действия, которые помогут вам сделать подобный функционал. 0. Самый важный, самый ответственный - активирование нужных модулей! ;) 1. Перейти в раздел администрирования флагов - /admin/structure/flags

  • создать условие - /admin/structure/flags/add;
  • обозвать как-то; например, bestcomments;
  • выбрать тип флага комментарии;
  • ввести заголовок; например, избранные комментарии;
  • установить галочку на глобальный флаг.

2. Ввести изменения в настройках как душе угодно, а именно: тексты, какие комментарии, роли пользователей. 3. В последнем разделе Настройки отображения поставить галочку на Отображать ссылку под комментарием и JavaScript-переключатель. 4. Грац-грац. Вы добавили возможность пометки комментариев, т.е. возможность определения избранности. 5. Далее переходим в каталог views - /admin/structure/views

  • создаём новое представление
  • представление должно быть с привязкой на комментарии и в формате блок

6. Настройка представления - добавление нужных полей, фильтров и аргументов.

  • Формат: Неформатированный список;
  • Поля: Комментарий: Автор, Комментарий: Содержимое, Комментарий: Дата публикации;
  • Критерии фильтрации: Комментарий: Одобрено (Да), (relationship) Содержимое: Опубликовано (Да), (relationship) Флаги: Помечено (Истина);
  • Контекстные фильтры: Комментарий: Nid (Задать значение по умолчанию -> ID материала из URL);
  • Отношения (relationship): Комментарий: Содержимое, Комментарий: Автор, Флаги: bestcomments (любым пользователем);
  • Поведение при отсутствии результатов: Глобальный: Текстовое поле (Добавить что-то в духе: "В данный момент ни один комментарий не был выбран в качестве экспертного мнения") - чисто из этических соображений.

7. СОХРАНИТЬ ИЗМЕНЕНИЯ. Это серьёзно. Встречал на практике челавеков, которые умудрялись забывать этот галактический шаг. Жесть, но практика. ;) 8. Теперь у нас есть всё: функционал избранности и отображение этих самих избранных комментариев. Дело за малым - вывести этот самый блок views в нужной области; в регион, если он есть, а если нет - создать регион в Drupal 7; программно вывести блок в Drupal 7 в шаблоне материала node.tpl.php или в node--type.tpl.php:

Комментарии к записи

Дабы внести ясность, покажу на примере, мини-коллаж, как это вышло.
Итак, смотрим рисунки и задаём вопросы, если они ещё имели место остаться. ;)

1. Кто-то комментирует по делу или как обычно - просто чтобы отметиться:

Как выводить под нодой в Drupal 7 избранные комментарии?

2. Приходит адекватный тип и выбирает комментарий того, кто ему больше симпатизирует:

Как выводить под нодой в Drupal 7 избранные комментарии?

3. В результате видим работающий блок со спсиком уже темизированных комментариев:

Как выводить под нодой в Drupal 7 избранные комментарии?

Plain text

Target Image