модуль друпал как снять с публикации ноды старше определенной даты

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

Комментарии

Аватар пользователя Миша Романов Миша Романов 13 ноября 2014 в 6:55

"drupby" wrote:
$time = strtotime('10 September 2012');
$updated = db_update('node')
->fields(array(
'status' => 0,
))
->condition('created', $time, '<=')
->execute();

спасибо. а что с этим сделать
я просто сам то не программист. попробовал создать пхп файл вствил его в корень запустил но ничего не поменялось.
понимаю что чтото неправльно сделал но не понимаю что надо сделать

Аватар пользователя drupby drupby 13 ноября 2014 в 10:44

"RxB" wrote:
Статус ещё в нод_ревижен есть

ну тогда

$time = strtotime('10 September 2012');

$query = db_select('node', 'n')
  ->fields('n', array('nid'))
  ->condition('n.created', $time, '<=');
$nids = $query->execute()->fetchCol();

$nodes = node_load_multiple($nids);
foreach ($nodes as $node) {
  $node->status = 0;
  node_save($node);
}

Аватар пользователя Миша Романов Миша Романов 13 ноября 2014 в 19:14

drupby
А не могли бы вы подсказать какой тогда должен быть код

$time = strtotime('13 October 2014');
$updated = db_update('node')
->fields(array(
'status' => 0,
))
->condition('created', $time, '<=')
->execute();

чтобы он изменял статус только нод типа article?

Аватар пользователя drupby drupby 13 ноября 2014 в 19:23

если по дате и по типу

$time = strtotime('10 September 2012');
 
$query = db_select('node', 'n')
  ->fields('n', array('nid'))
  ->condition('n.created', $time, '<=')
  ->condition('n.type', 'article');
$nids = $query->execute()->fetchCol();
 
$nodes = node_load_multiple($nids);
foreach ($nodes as $node) {
  $node->status = 0;
  node_save($node);
}

только по типу

$query = db_select('node', 'n')
  ->fields('n', array('nid'))
  ->condition('n.type', 'article');
$nids = $query->execute()->fetchCol();
 
$nodes = node_load_multiple($nids);
foreach ($nodes as $node) {
  $node->status = 0;
  node_save($node);
}