Использование nodequeue для управления порядком элементов в списке views

Задача в состоит в том, чтобы дать редактору возможность «ручного» управления порядком элементов в списке, создаваемом с помощью views. К примеру, есть список статей (объектов node), они упорядочены по node.title, но часть элементов списка требуется закрепить в начале, используя указанный вручную порядок.

Списки нод хорошо управляются с помощью очередей, создаваемых модулем Nodequeue. Редактор может добавить в список (queue) публикации и установить необходимый порядок.

Давайте посмотрим как настроить объект views, чтобы упорядочить список, используя порядок элементов в nodequeue.

Нам понадобятся следующие модули:

  • Nodequeue (nodequeue),
  • Views (views) и требуемый им Chaos tools (ctools),
  • и конечно же Views UI (views_ui) для настройки представлений.

т.е. ничего лишнего :).

Создадим и настроим nodequeue

Полагаю, что views у вас уже есть. Установите модуль nodequeue и создайте (/admin/structure/nodequeue/add/nodequeue) очередь, позволяющую добавлять в список нужные типы публикаций. К примеру, если представление (views) выводит список новостей, то это должна быть очередь (queue), в которую можно добавлять новости.

Сюда мы как раз и будем добавлять новости, которые требуется закрепить вверху списка. Количество и порядок закрепленных новостей будет определяться порядком и кол-вом новостей в созданной очереди.

Настроим представление (views)

Для начала выберем связь с созданной очередью (добавим RELATIONSHIPS).

В настройках связи выберите созданную вами очередь (у меня она называется Pinned stories).

Созданная связь позволит добавить сортировку элементов на основе порядка элементов в nodequeue. Первым критерием идет наличие элемента в очереди, вторым — порядок элементов в очереди. Для оставшихся элементов views останется прежний порядок — по title.

Мало букафф? Читайте есчо !

Вывод данных с группировкой во views drupal

Ноябрь 15, 2019 г.

Типичная проблема при использовании модуля views - как вывести результат группировки, т.е. столбец вроде COUNT(*). Это можно сделать штатными средствами ...

Читать

Изменить текст no-results во views программно

Февраль 5, 2020 г.

Drupal views позволяют сконфигурировать сообщение на случай если результат запроса пуст и нельзя срендерить какой либо контент для данного представления. Данная опция находится во вкладке 'advanced' вашего представления. Но в данной статье я покажу ...

Читать

Контекстное задание значений фильтров представлений модуля views

Апрель 22, 2017 г.

Views оказался настолько популярным модулем, что его даже включили в 8-ю версию Drupal. Он может формировать разделы сайта, блоки, быть источником списков и т.п. Но передача внешних параметров многообразием не отличается. Не хватает очень важного обработчика ...

Читать

Использование entityqueue для сортировки элементов во view, основанной на Search API datasource

Апрель 3, 2024 г.

Ранее подход, который я опишу, использовался для nodequeue, сейчас с заменой плагина фунционалом entityqueue, тоже самое можно применить и для него. Проблема: Создано представление (view), где источник данных - элементы datasource Search API. ...

Читать
 

Комментарии к «Использование nodequeue для управления порядком элементов в списке views»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: