Одной из необходимых функций нашей 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.
Теперь мы можем управлять временем снятия с публикации отдельных контентипов. Давайте зайдем в редактирования типа материала Объявление:
Здесь мы можем поставить сколько будет находится на доске объявлений ноды. Давайте поставим 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:
Теперь давайте разберем детально настройки Auto Expire:
Article - базовый контент тип друпала, там также можно выбрать любой другой контент тип.
Галочка Expire включает использование возможностей модуля Auto expire.
Days - количество дней, которое ноды выбранного контент типа будут опубликованы
Warn - количество дней до снятия с публикации, в этот момент будет послано уведомление автору, о том что срок объявления истекает.
Purge - время через которое объявление будет удалено из базы данных.
Примечание! На данный момент модуль Auto Expire находится в разработке и еще не готов к использованию. 2011-12-07
Выставляете свои значения, настраиваете крон и ваши объявления будут сниматься с публикации автоматически.
В следующем уроке мы разберем как сделать подобный функционал с помощью модуля Rules.
Комментарии
Добавить комментарий
а не могли бы показать ссылку
а не могли бы показать ссылку на Rules а то следующий урок вроде не на Rules
Честно говоря я не доделал
Честно говоря я не доделал урок по Rules. Что-то не работало или я что-то не так делал. Слишком навороченный получается Rule. Проще использовать hook_cron и написать запрос на обновления статуса ноды.
а когда можно ждать
а когда можно ждать продолжение по рулес?
Сейчас я занят уроками по
Сейчас я занят уроками по HTML+CSS к Rules и другим модулям вернусь позже.