Модуль Rules - дуже потужний.
Напевно тому у нього є свій планувальник.
У цьому пості я розповім як використовувати планувальник правил (Rules Scheduler) і виконувати компоненти за розкладом (при виконанні регулярних процедур Cron).
Крок 1. Підготовка
Якщо ще не встановлено - качаємо, встановлюємо і включаємо модуль Rules.
Включаємо модулі Rules. Rules UI і Rules Scheduler.
Налаштовуємо на сервері або у хостера Cron на виконання через потрібний інтервал. Припустимо, кожну годину.
Будемо створювати правило, яке буде виводити матеріал на головну після його створення, і планувати виконання компонента, який через 12 годин буде його знімати звідти.
Крок 2. Створення компонента
Для початку нам потрібно створити компонент, який буде виконуватися через потрібні нам інтервали часу. Для цього переходимо на сторінку додавання компонента (admin / config / workflow / rules / components / add).
Плагін компонента - "Правило", тиснемо "Далі".
- Ім'я - "Зняття статті з головної сторінки"
- Машинне ім'я - "remove_article_from_frontpage"
Додаємо змінну матеріалу:
- Тип даних - "Матеріал"
- Мітка - "Матеріал"
- Машинне ім'я - "node"
- Використання - "Параметр"
Додаємо нову дію
Зі списку доступних дій вибираємо "Видалити матеріал з головної сторінки".
У селекторі вміст у програмі вибираємо "node" і зберігаємо дію.
Крок 3. Створення правила
Додати нове правило можна за посиланням "admin / config / workflow / rules / reaction / add".
Для початку, автоматизуємо висновок на головну нашої свеженапісаной статті.
Для цього додамо дію "Вивести матеріал на головну сторінку":
У селекторі даних вибираємо наш матеріал ( "node").
Наступним кроком заплануємо виконання раніше створеного компонента.
Додаємо дію і вибираємо "Запланувати виконання компонента":
Вибираємо наш компонент:
У блоці "Планування дати виконання" вказуємо значення "+12 hours", і додаємо ідентифікатор компонента (Важливо робити їх унікальними, тому я раджу використовувати зрозумілий ідентифікатор з ID Ноди, яка повинна бути оброблена) - "delete_node_from_frontpage_ [node: nid]".
[Node: nid] - це токен ID матеріалу, значення буде підставлена автоматично при виконанні правила. Список доступних токенов можна знайти в філдсете "Символи шаблони".
Як матеріал вибираємо "node".
Більше нам нічого додавати не потрібно. Головне щоб виконувався Cron, а Rules Scheduler подбає про віполненіі правила. Скріншот готового правила.
Для перевірки можете додати нову статтю і подивитися додалося в розклад Ваше правило, на сторінці "admin / config / workflow / rules / schedule":