Возможно ли публиковать новости на определеную дату в друпал?
11 октября 2009 в 21:55
Возможно ли публиковать новости на определеную дату в друпал? (Отложенная публикация как в DLE)
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
http://drupal.org/project/scheduler
можно просто дату вперёд выставлять, а во views фильтр сделать
Документ: Время создания
меньше чем или равно
now
а в пятом друпале с помощью views это можно сдеать?
у Node: Created Time такого не нашел. Может делается как-то по другому?
заранее спасибо
У Друпала есть одна тонкость, как ее побороть я не знаю.
Вариантов отложенной публикации много, самые простые уже посоветовали выше,
можно также использовать db_rewrite_sql
для этого написать простенький модуль,
назовем его "deferrednode", а дату проставлять в поле "дата создания"
switch ($primary_field) {
case 'nid':
if(!user_access('administer nodes')){
// this query deals with node objects
$return = array();
if ($primary_table != 'n') {
$return['join'] = "LEFT JOIN {node} n ON $primary_table.nid = n.nid";
}
// $return['where'] = 'created <' . mktime(0, 0, 0, 1, 1, 2005);
$return['where'] = 'n.created <' . time();
return $return;
break;
}
case 'tid':
// this query deals with taxonomy objects
break;
case 'vid':
// this query deals with vocabulary objects
break;
}
}
function deferrednode_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
if($op=='view' && $node->created > time() && !user_access('administer nodes')) drupal_access_denied();
}
При отключенном кешировании последний вариант отрабатывает нормально, но стоит включить кеш, и тогда без запуска крона не обойтись.
Учитывая, что крон запускается только через определенные прмежутки времени точно вовремя выставить материал не получается. Та же проблема привязки к крону и у других известных мне способов.