Использование 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 в нужное место шаблона средствами PHP

Сентябрь 9, 2016 г.

Мощный, всепоглощающий, великий и ужасный модуль VIEWS. Очень коварный, он толкает программиста с пути "только хардкор" и разработки на PHP на скользкую ...

Читать

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

Апрель 22, 2017 г.

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

Читать

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

Апрель 3, 2024 г.

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

Читать

Прячем поле view в зависимости от роли пользователя в Drupal

Август 31, 2023 г.

Метод работает не только с ролями, но и любой другой логикой, которую вы в силах реализовать в коде. Нам понадобится hook_views_pre_render, где мы выполним проверку и отключим не нужное нам поле представления. [crayon-69a0bb8d0ef51486700091/] ...

Читать
 

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

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



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