Использование 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.

Написать комментарий

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

Установим контекстные фильтры в drupal views программно

Август 30, 2021 г.

Пример кода как рендерить блок views с программной установкой contextual filters. Контекстные фильтры устанавливаются методом ViewExecutable::setArguments(array $ARGS). В примере я передаю пару аргументов в качестве значений контекстных фильтров. ...

Читать

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

Ноябрь 15, 2019 г.

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

Читать

 

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

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



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