Вопрос: Запланированные записи в Drupal (как в Wordpress)

Главные вкладки

Аватар пользователя o.uzhovsky o.uzhovsky 29 июня 2009 в 12:05

Всем, привет! Подскажите, каким модулем можно сделать запланированные записи в Drupal'е. Конкретно я использую версию 5.*. Говоря "запланированные" я имею в виду, чтобы при постановке будущей даты в настройках записи (поле "Время создания"), запись не появлялась на сайте пока не наступит эта дата и время.

Эта функция по умолчанию стоит в Wordpress'е, кто им пользовался поймет о чем я говорю.

Уверен есть какой-то модуль, но самостоятельным поиском найти его не смог.

Заранее спасибо за помощь!

PS - не по теме: в каком разделе можно заказать программинг модуля или скрипта для своего сайта?

Комментарии

Аватар пользователя o.uzhovsky o.uzhovsky 29 июня 2009 в 15:36

Рано обрадовался. Установил модуль, активировал, ставлю на запись завтрашнюю дату, она публикуется на сайте и показывается как самая ранняя. Т.е. ничего не изменилось. Может этот модуль работает в паре с каким-то?

Аватар пользователя zan1977 zan1977 29 июня 2009 в 16:28

У меня прекрасно работает. Дату ты в правильном формате вводишь (она написана под полем ввода когда создаешь ноду)?

Аватар пользователя o.uzhovsky o.uzhovsky 29 июня 2009 в 18:00

Дату ввожу правильно, я ее изменяю только после создания ноды, т.е. например создал ноду, он сам присвоил дату и время, я потом изменяю только число на +1 день и все равно не работает, запись попадает на главную страницу...

Аватар пользователя andrbelt andrbelt 29 июня 2009 в 18:19

а галочка напротив пункта "опубликовано" стоит?
изменяя дату на будущее, сам материал не снимается с публикации.
сайт автоматически не присваивает дату полю Scheduler. может вы меняли дату в не том поле, а нужное поле просто пропустили. посмотрите внимательно

Аватар пользователя o.uzhovsky o.uzhovsky 29 июня 2009 в 19:58

Я пробую изменять дату в уже опубликованных нодах, пробую создавать новую ноду с будущей датой. В обоих случаях нода появляется на главной странице сайте.

Если бы не стояло галочки напротив "опубликовано", то запись вообще не появилась бы на главной странице, или я что-то путаю?

Что вы подразумеваете под "нужным" полем? Я меню дату на будущую в поле "Время создания" (см. скрин http://img30.imageshack.us/img30/9193/15573194.gif). Но других полей с датой не появилось в редактировнии ноды...

Аватар пользователя andrbelt andrbelt 30 июня 2009 в 7:02

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

Аватар пользователя o.uzhovsky o.uzhovsky 1 июля 2009 в 0:27

Странно, в настройках модулей показывает, что он активирован и даже можно зайти в его settings, но полей в редактировании (добавлении) ноды не показывает новых. Кто-то может сталкивался с похожей проблемой, подскажите где искать решение проблемы

Аватар пользователя gagaga gagaga 1 июля 2009 в 12:17

Нужно зайти в настройки типа материала, для которого Вы хотите использовать отложенную публикацию. Там необходимо поставить две галки Запланировать (де)публикацию. и Изменить дату публикации. После этого при создании материала у Вас появятся два новых поля.

Аватар пользователя o.uzhovsky o.uzhovsky 1 июля 2009 в 22:11

Снова непонятка - ставлю будущую дату уже в поле "Scheduling options - Publish on" (поле "Unpublish on" оставляю пустым), жму "Отправить", запись пропадает с главной, но в указанное время не публикуется на сайте. Оказывается когда ставлю будущую дату и сохраняю ноду, галочка напротив "Опубликовать" пропадет, см скрин: http://img26.imageshack.us/img26/6998/72449951.gif

Ставлю галку, снова "Отправить", потом снова "Изменить" и галка снова пропала. Если убираю будущую дату из поля "Publish on" галка не пропадает.

Как же ты непрост, дружище Drupal...

Аватар пользователя WiseMan WiseMan 2 июля 2009 в 2:36

"o.uzhovsky" wrote:
Ставлю галку, снова "Отправить", потом снова "Изменить" и галка снова пропала. Если убираю будущую дату из поля "Publish on" галка не пропадает.

дык, в этом вся фишка модуля - так и должно быть. Если стоит будущая дата, то модуль убирает состояние "опубликовано" и опубликует только при достижении даты. Для этого должен работать крон.

А вы хотите чтобы стояла галка "опубликовано" и материал не показывался, так что ли? )

Аватар пользователя o.uzhovsky o.uzhovsky 2 июля 2009 в 8:14

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?

Аватар пользователя gagaga gagaga 2 июля 2009 в 9:10

Хм... это команда не для cron.php, ее, по-моему, надо через шелл вводить. Чтобы не мучиться поставьте Poormanscron. Этот модуль эмулирует запуск крона через заданное Вами время.

P.S. В мануале на который Вы ссылаетесь написано:

"" wrote:
Правда, это актуально только в том случае, если к хостингу есть доступ по SSH и разрешено запускать команду crontab.