Друпал модуль Rules снятие с публикации

В прошлом уроке мы рассмотрели как в Друпале автоматически снимать с публикации оъявления с доски по истечению срока. Я использовал модуль Node Expire для 6го Друпала и Auto Expire для Друпал 7.

В этом уроке я буду использовать модуль Rules и Друпал 7 с целью: опубликовать ноду после 2 дней после ее создания. Для этого кроме модуля Rules я буду использовать Views, Token, Entity, CTools. Установите эти модули и включите:

  • Entity,
  • CTools,
  • Views,
  • Token,
  • Rules,
  • Rules scheduler,
  • Rules UI.

 

У нас есть все чтобы начать, приступим:

 

Создание действия по расписанию:

 

  1. Заходим на страницу компонентов "admin/config/workflow/rules/components" и нажимаем на "Add a new component" (добавить новый набор правил). Выбираем создание Rules set.
  2. Заполняем поле Название например "Публикация контента {rule set}" и машинное имя например "publish_content"
  3. В разделе Variables выбираем data type "Entity->материал", метка заполняем например "Материал {argument}" и "publish_content__content" для машинного имени.
  4. Нажимаем кнопку продолжить
  5. После этого нас перенаправляет на страницу только что созданного rules set'а.
  6. Нажимаем на этой странице +Add rule (добавить правило).
  7. Заполняем название нового правила например "Опубликовать {rule}" и нажимаем "Сохранить изменения" (Save changes).
  8. И мы попадаем на страницу редактирования созданного нами правила, на которой нужно нажать "Add an action" (добавить действие).
  9. Из выпадающего списка нам нужно выбрать "Node|Publish content" (Материал|Опубликовать содержимое), после этого нам будет предложено выбрать Data selector (аргумент) и мы выбираем созданный ранее "Материал {argument}" (с машинным именнем "publish_content__content")
  10. Нажимаем кнопку Сохранить.
  11. Зайдем на страницу списка компонентов admin/config/workflow/rules/components и выберем scheduler (расписание) для нашего rule set'а. Здесь в поле Scheduled evaluation date (задание по расписанию) пишем +2 days.

 

Создание правила

 

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

 

  1. Перейдем на страницу правил "admin/config/workflow/rules" и нажмем Add new rule (создать правило)
  2. Назовем его "Правило публикации {triggered rule}" и выберем "Node|After saving new content" (Материал|После сохранения нового контента) в выпадающем списке.
  3. Теперь добавим Действие (action), нажимаем Add action (Добавить действие)
  4. Выбираем созданный нами rule set (Публикация контента {rule set}), в data selector выберем node
  5. Добавим еще condition (условие) на странице нашего правила, которое будет касаться только неопубликованных нод: Выбираем Node is puslished и ставим галочку Negate (отрицание, то есть нода неопубликована)

 

Теперь все неопубликованные материалы будут автоматически публиковаться.

 

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.