Как создать operation для Views Bulk Operations с помощью Rules

Сегодня в очередной раз пришлось поработать с модулем Views Bulk Operations (VBO). Суть задачи состояла в том, что необходимо было изменить стандартную страницу администрирования пользователей, расположенную по адресу "admin/people". Поставленную задачу я решил реализовывать с помощью модулей Views и Views Bulk Operations. И вроде бы все отлично получалось, но вот незадача, по умолчанию Views Bulk Operations предоставляет меньше операций над пользователями, чем доступно на стандартной странице.

В качестве примера приведу операцию Unblock the selected users, в модуле Views Bulk Operations она просто отсутствует. Можно заблокировать пользователей, а вот разблокировать уже никак:

Views Bulk Operations операции над пользователями по умолчанию
Views Bulk Operations операции над пользователями по умолчанию

В качестве решения я решил воспользоваться мощным модулем Rules. В течении получаса я создал нужные мне операции над пользователями. Сейчас я на примере операции Unblock the selected users покажу как создавать свои операции с помощью модуля Rules за 10 простых шагов.

Шаг 1. После скачивания и включения модуля Rules идем на страницу "admin/config/workflow/rules/components" и кликаем по ссылке Add new component:

Шаг 1. Добавление компонета
Шаг 1. Добавление компонета

Шаг 2. В открывшейся форме в поле "Component plugin" выбираем Rule и жмем кнопку Continue:

Шаг 2. Выбор компонента Rule
Шаг 2. Выбор компонента Rule

Шаг 3. Перед нами открылась форма создания компонента. Здесь:

  • Name - название компонента;
  • Tags - категория компонента;
  • Data type - тип данных;
  • Label - название типа данных;
  • Machine name - машинное имя типа данных;
  • Usage - использование типа данных.

Заполняем форму как показано на скриншоте и жмем кнопку Save changes:

Шаг 3. Создание компонента
Шаг 3. Создание компонента

Шаг 4. Перед нами открылась форма с настройками компонента. Вначале нам необходимо добавить условие User is blocked, для этого кликаем по ссылке Add condition:

Шаг 4. Добавление условия
Шаг 4. Добавление условия

Шаг 5. В открывшейся форме выбираем условие User is blocked, после чего форма автоматически перезагрузится:

Шаг 5. Выбор условия
Шаг 5. Выбор условия

Шаг 6. После перезагрузки формы в поле "Data selector" выбираем user и жмем кнопку Save:

Шаг 6. Настройка условия
Шаг 6. Настройка условия

Шаг 7. Теперь необходимо добавить действие, которые будет происходить при выполнении добавленного условия. Для этого кликаем по ссылке Add action:

Шаг 7. Добавление действия
Шаг 7. Добавление действия

Шаг 8. В открывшейся форме выбираем действие Unblock a user, после чего форма автоматически перезагрузится:

Шаг 8. Выбор действия
Шаг 8. Выбор действия

Шаг 9. После перезагрузки формы в поле "Data selector" выбираем user и жмем кнопку Save:

Шаг 9. Настройка действия
Шаг 9. Настройка действия

Шаг 10. Компонент настроен и готов к работе. Идем в необходимый Views и включаем созданный компонент:

Views Bulk Operations включение добавленной операции
Views Bulk Operations включение добавленной операции

Проверяем, что операция работает и наслаждаемся результатом!

Benya