Всем, привет! Подскажите, каким модулем можно сделать запланированные записи в Drupal'е. Конкретно я использую версию 5.*. Говоря "запланированные" я имею в виду, чтобы при постановке будущей даты в настройках записи (поле "Время создания"), запись не появлялась на сайте пока не наступит эта дата и время.
Эта функция по умолчанию стоит в Wordpress'е, кто им пользовался поймет о чем я говорю.
Уверен есть какой-то модуль, но самостоятельным поиском найти его не смог.
Заранее спасибо за помощь!
PS - не по теме: в каком разделе можно заказать программинг модуля или скрипта для своего сайта?
Комментарии
Scheduler
Ромка, большое спасибо!
Рано обрадовался. Установил модуль, активировал, ставлю на запись завтрашнюю дату, она публикуется на сайте и показывается как самая ранняя. Т.е. ничего не изменилось. Может этот модуль работает в паре с каким-то?
У меня прекрасно работает. Дату ты в правильном формате вводишь (она написана под полем ввода когда создаешь ноду)?
Дату ввожу правильно, я ее изменяю только после создания ноды, т.е. например создал ноду, он сам присвоил дату и время, я потом изменяю только число на +1 день и все равно не работает, запись попадает на главную страницу...
а галочка напротив пункта "опубликовано" стоит?
изменяя дату на будущее, сам материал не снимается с публикации.
сайт автоматически не присваивает дату полю Scheduler. может вы меняли дату в не том поле, а нужное поле просто пропустили. посмотрите внимательно
Я пробую изменять дату в уже опубликованных нодах, пробую создавать новую ноду с будущей датой. В обоих случаях нода появляется на главной странице сайте.
Если бы не стояло галочки напротив "опубликовано", то запись вообще не появилась бы на главной странице, или я что-то путаю?
Что вы подразумеваете под "нужным" полем? Я меню дату на будущую в поле "Время создания" (см. скрин http://img30.imageshack.us/img30/9193/15573194.gif). Но других полей с датой не появилось в редактировнии ноды...
вот в этом и есть ошибка. если вы правильно установили модуль Scheduler, то чуть выше должны появиться два дополнительных поля - Scheduler - дата опубликования материала и дата снятия материала с публикации. В этих полях и надо задавать нужные даты
Странно, в настройках модулей показывает, что он активирован и даже можно зайти в его settings, но полей в редактировании (добавлении) ноды не показывает новых. Кто-то может сталкивался с похожей проблемой, подскажите где искать решение проблемы
Нужно зайти в настройки типа материала, для которого Вы хотите использовать отложенную публикацию. Там необходимо поставить две галки Запланировать (де)публикацию. и Изменить дату публикации. После этого при создании материала у Вас появятся два новых поля.
gagaga, огромное спасибо за помощь, теперь все работает!
Снова непонятка - ставлю будущую дату уже в поле "Scheduling options - Publish on" (поле "Unpublish on" оставляю пустым), жму "Отправить", запись пропадает с главной, но в указанное время не публикуется на сайте. Оказывается когда ставлю будущую дату и сохраняю ноду, галочка напротив "Опубликовать" пропадет, см скрин: http://img26.imageshack.us/img26/6998/72449951.gif
Ставлю галку, снова "Отправить", потом снова "Изменить" и галка снова пропала. Если убираю будущую дату из поля "Publish on" галка не пропадает.
Как же ты непрост, дружище Drupal...
дык, в этом вся фишка модуля - так и должно быть. Если стоит будущая дата, то модуль убирает состояние "опубликовано" и опубликует только при достижении даты. Для этого должен работать крон.
А вы хотите чтобы стояла галка "опубликовано" и материал не показывался, так что ли? )
WiseMan, логично! Вы все правильно говорите. Но фишка в том, что при наступлении нужной даты он не ставит "опубликовано" самостоятельно. Я понимаю, что мы уже переходим к следующей теме, чтобы не создавать новую, я задам вопрос по крону - как сделать, чтобы он автоматом запускался?
Из этой темы понял, что нужно добавить строку в файл cron.php
30 20 * * * /usr/bin/wget -O - -q -t 1 http://example.com/cron.php >/dev/null 2>&1
Cron.php теперь выглядит так: http://img9.imageshack.us/img9/7105/21568204.gif (только вместо example.com стоит адрес моего сайта)
Все ли я правильно сделал? Будет ли Крон автоматом запускаться каждый день в 20:30 по серверному времени и будет ли теперь нормально функционировать Scheduler?
Хм... это команда не для cron.php, ее, по-моему, надо через шелл вводить. Чтобы не мучиться поставьте Poormanscron. Этот модуль эмулирует запуск крона через заданное Вами время.
P.S. В мануале на который Вы ссылаетесь написано:
О, чудо! Все работает! Большое спасибо всем, кто проникся моей проблемой и помог в ней разобраться!