Миша Романов 13 ноября 2014 в 4:49 Помогите пожалуйста найти модуль друпал которым можно снять с публикации ноды старше определенной даты Drupal7 Есть вопрос FAQ Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Миша Романов 13 ноября 2014 в 6:55 "drupby" wrote: $time = strtotime('10 September 2012'); $updated = db_update('node') ->fields(array( 'status' => 0, )) ->condition('created', $time, '<=') ->execute(); спасибо. а что с этим сделать я просто сам то не программист. попробовал создать пхп файл вствил его в корень запустил но ничего не поменялось. понимаю что чтото неправльно сделал но не понимаю что надо сделать
drupby 13 ноября 2014 в 7:29 модуль devel устанавливаешь, выводишь куда-нибудь блок "Выполнение PHP" и туда этот код
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 в 11:16 Спасибо огромное сделал через Девел все сработало нормально - был использован код в первом варианте.
Миша Романов 13 ноября 2014 в 19:14 drupby А не могли бы вы подсказать какой тогда должен быть код $time = strtotime('13 October 2014'); $updated = db_update('node') ->fields(array( 'status' => 0, )) ->condition('created', $time, '<=') ->execute(); чтобы он изменял статус только нод типа article?
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); }
Миша Романов 13 ноября 2014 в 20:02 спасибо огромное и правильно ли я понял что если статус в коде поменять на 1 вместо нуля - то он наоборот опубликует это да?
Комментарии
.
спасибо. а что с этим сделать
я просто сам то не программист. попробовал создать пхп файл вствил его в корень запустил но ничего не поменялось.
понимаю что чтото неправльно сделал но не понимаю что надо сделать
модуль devel устанавливаешь, выводишь куда-нибудь блок "Выполнение PHP" и туда этот код
Статус ещё в нод_ревижен есть, имхо
ну тогда
$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);
}
Спасибо огромное сделал через Девел все сработало нормально - был использован код в первом варианте.
drupby
А не могли бы вы подсказать какой тогда должен быть код
$time = strtotime('13 October 2014');
$updated = db_update('node')
->fields(array(
'status' => 0,
))
->condition('created', $time, '<=')
->execute();
чтобы он изменял статус только нод типа article?
если по дате и по типу
$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);
}
только по типу
->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);
}
спасибо огромное
и правильно ли я понял что если статус в коде поменять на 1 вместо нуля - то он наоборот опубликует это да?
точно так и сработало
еще раз огромное вам спасибо за помощь