Drupal node expire и auto expire снятие с публикаций объявлений по истечение срока

доска объявлений друпал drupal

Одной из необходимых функций нашей Drupal доски объявлений будет снятие с публикации объявлений провисевших там какой-то срок. Я предлагаю для начала использовать готовые модули, а потом попробывать использовать модуль Rules для этого. Из готовых модулей я нашел 2 для Друпала 6 и 1 для Друпала 7, а именно:
Node expire - Друпал 6
Auto expire - Друпал 6 и 7

Drupal 6 Node Expire

Сначала попробуем Node expire для шестого Друпала:
http://drupal.org/project/node_expire
Я буду использовать версию 2.06
Устанавливаем и включаем модуль Node expire

 

Для этого нам потребуется так же модуль Drupal Rules.

 

 

Теперь мы можем управлять временем снятия с публикации отдельных контентипов. Давайте зайдем в редактирования типа материала Объявление:

drupal процесс объявление

 

Здесь мы можем поставить сколько будет находится на доске объявлений ноды. Давайте поставим 1 неделю. Используйте следующие выражения для установки дат:

+1 hour - 1 час с текущего момента

+2 hours - 2 часа с текущего момента

+n hours - n часов с текущего момента

 

+1 day - 1 день с текущего момента
+2 days - 2 дня с текущего момента
+n days - n дней с текущего момента

+1 week - неделя
+2 weeks - 2 недели
+n weeks - n недель

+1 month -  1 месяц
+2 months - 2 месяца
+n months - n месяцев

+1 month 2 weeks 3 days 3 hours - 1 месяц 2 недели 3 дня 3 часа с текущего момента

Давайте попробуем использовать 1 week - то есть неделю.

 

 

Теперь создадим ноду контент типа Объявление:

 

Вы видете что появилась дата снятия с публикации ноды, как раз через неделю после текущего числа. Да, сегодня 2011-12-02 число.

В файле readme.txt модуля node expire вы можете найти код для импорта правила через модуль Rules.

 

Вставляйте в окно импорта код из readme.txt:

 

 

Теперь у нас появится еще одно правило, которое мы можем подредактировать уже в админке: поставить фильтр по контент типу или изменить дату снятия с публикации.

 

Не забудьте настроить крон, чтобы объявления снимались с публикации.

 

Drupal 7 Auto Expire

Друпал Auto Expire

Итак, скачиваем и устанавливаем модуль Auto Expire.

Для своей работы модуль Auto Expire не требует других модулей, поэтому можно использовать его сразу. Нужно только установить права доступа на этот модуль, если мы хотим дать возможность другим ролям изменять время объявления на доске.

Drupal разрешения

 

Теперь заходим в конфигурацию сайта и выбираем Auto Expire:

 

Друпал конфигурация сайта

 

Теперь давайте разберем детально настройки Auto Expire:

auto expire settings

 

Article - базовый контент тип друпала, там также можно выбрать любой другой контент тип.

Галочка Expire включает использование возможностей модуля Auto expire.

Days - количество дней, которое ноды выбранного контент типа будут опубликованы

Warn - количество дней до снятия с публикации, в этот момент будет послано уведомление автору, о том что срок объявления истекает.

Purge - время через которое объявление будет удалено из базы данных.

 

Примечание! На данный момент модуль Auto Expire находится в разработке и еще не готов к использованию. 2011-12-07

 

Выставляете свои значения, настраиваете крон  и ваши объявления будут сниматься с публикации автоматически.

В следующем уроке мы разберем как сделать подобный функционал с помощью модуля Rules.

Комментарии

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

Plain text

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

Честно говоря я не доделал

Честно говоря я не доделал урок по Rules. Что-то не работало или я что-то не так делал. Слишком навороченный получается Rule. Проще использовать hook_cron и написать запрос на обновления статуса ноды.