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

Декабрь 24, 2017 г.

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

Читать

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

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

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

Читать

 

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

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



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