Гибкая сортировка материалов с помощью модуля Radioactivity

03.04.2014
Share on FacebookShare on TwitterShare on GooglePlusShare on Linkedin
Автор:

Планируя архитектуру сайта, на котором есть (или предполагается) большое количество материалов, достаточно часто веб разработчики задаются вопросом: как реализовать их гибкую сортировку на сайте, или как сделать так, чтобы самое интересное не терялось среди нового наполнения?

Мы расскажем об одном из вариантов решения такой задачи, которым мы воспользовались.

Представим, что у нас есть блог с интересными и познавательными статьями, которые люди читают, оставляют комментарии и оценивают (возьмем за факт, что функционал оценки реализован с помощью модуля Fivestar ). И вот возникает потребность отображать эти блоги пользователям в таком порядке, чтобы новые выводились первыми, но при этом популярные материалы не терялись далеко внизу. Для таких случаев прекрасно подходит модуль Radioactivity. В нем есть абстрактная величина - "Энергия", с помощью которой и определяется порядок отображения материалов. Базово модуль позволяет настраивать увеличение и уменьшение энергии при наличии или отсутсвии просмотров материалов. А благодаря встроенной интеграции с модулем Rules можно значительно расширить правила воздействия энергии.

Настроить модуль, после его установки, можно перейдя по адресу admin/structure/radioactivity.

radioactivity module settings

При добавлении поля типа “Radioactivity” к материалу мы можем выбрать профиль настроек для него. Очевидно, что правила возрастания и убывания энергии для пользователей и материалов будут разными, поэтому нам предоставлена ​​возможность использовать уникальный профиль для каждого поля.

Давайте рассмотрим, как можно создать новый профиль с собственными настройками. Для начала нужно нажать кнопку + Add.

radioactivity profile creation

Появится страница, где можно настроить имя профиля; указать, через сколько времени энергия уменьшится вдвое, если с материалом за это время не произошло никаких событий; как часто будет происходить изменение энергии для события; уровень энергии, при которой полураспад уже не будет работать; а также тип профиля.

Всего есть три типа профиля:

Simple - модуль будет только добавлять или отнимать количество энергии, то есть работать как счетчик;

Basic - этот тип позволяет настроить время полураспада, выбор ограничивается шестью часами, днем, двумя днями, неделей и месяцем;

Advanced - полностью настраивается время полураспада, с точностью до нескольких секунд; и уровень энергии, при которой полураспад уже не будет работать.

Однако этих настроек еще недостаточно. Для полноценной работы необходимо выполнить еще несколько действий:

1. Создать поле для типа материала, выбрать профиль настроек и установить уровень энергии, который будет добавляться к новому материалу.

2. Создать новое представление (View) для материала, либо модифицировать уже существующее, добавив поле энергии к критериям сортировки, добавить несколько полей (nid, title, radioactive energy) и настроить сортировку по убыванию уровня энергии.

Особое внимание стоит уделить параметру вывода поля Energy в представлении. Модуль предлагает несколько вариантов его определения. Самые популярные среди них: числовое и процентное значение.

Благодаря этим простым настройкам теперь энергия увеличивается каждый раз, когда пересматривается материал, и уменьшается вдвое, на протяжении определенного периода.

В настройках правил (Rules) есть возможность увеличивать или уменьшать энергию в зависимости от потребностей. Например, в связке с модулем Fivestar можно создать правило, которое будет увеличивать энергию, следуя формуле:

Энергия = Энергия’ * количество звезд Fivestar.

Где Энергия’ - есть предыдущий показатель энергии.

И это лишь одна из многих возможностей, которые предлагает модуль Radioactivity.

Более подробную информацию можно получить, прочитав документаци модуля или перейдя на страницу самого модуля Radioactivity, а также просмотрев видеоинструкцию.

Под этим блог-постом прикреплен архив, развернув который, вы сможете увидеть пример работы модуля. Для более детального знакомства с возможностями этого инструмента вы можете скачать и развернуть популярную сборку Drupal Commons, в которой также воспользовались этим модулем.

example_radioactivity.zip
2 votes, Rating: 4
Share on FacebookShare on TwitterShare on GooglePlusShare on Linkedin

Также по теме

1

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

2

Изменения в Drupal 8, кроме всего прочего, коснулись процеcса создания собственных виджетов и форматтеров. Новый плагин API значительно упрощает эту процедуру.

3

Продолжая рассмотрение возможностей модуля Panels, в этом блоге речь пойдет о создании собственного контекста с помощью Chaos tool suite.

4

Поддержка транзакций появилась уже в Drupal 7, включая те базы данных, которые самостоятельно их не поддерживают. Давайте рассмотрим как правильно их использовать,...

5

Модуль Migrate позволяет импортировать содержимое сайта в Drupal из других источников. Узнайте как установить и настроить этот инструмент для корректной работы.

Need a quote? Let's discuss the project

Are you looking for someone to help you with your Drupal Web Development needs? Let’s get in touch and discuss the requirements of your project. We would love to hear from you.

Join the people who have already subscribed!

Want to be aware of important and interesting things happening? We will inform you about new blog posts on Drupal development, design, QA testing and more, as well news about Drupal events.

No charge. Unsubscribe anytime