Пересохранить все документы сайта

28 Апр 2008
Опубликовано VladSavitsky

Решение

Обратите внимание: при использовании этого кода изменится дата последнего изменения (не дата создания) документов сайта.

Чтобы обновить (пересохранить) документы сайта, нужно выполнить PHP-код на сайте:

Друпал 5

Код пересохраняет документы определённого типа.

<?php
//Change type here
$type = 'book';
$result = db_query("SELECT nid FROM {node} where type='%s'", $type);
$count = 0;
while ($current_node = db_fetch_array($result)){
  set_time_limit(0);
  $current_node_id = node_load($current_node["nid"]);
  node_save($current_node_id);
  $count++;
}
echo 'Готово. '.$count.' документов было пересохранено.';
?>

Друпал 6

Код пересохраняет все документы сайта:

<?php
$result = db_query("SELECT nid FROM {node}");
$count = 0;
set_time_limit(0);
while ($current_node = db_fetch_array($result)) {
  node_save(node_load($current_node["nid"]));
  echo $current_node["nid"].'<br />';
  $count++;
}
echo 'Готово. '.$count.' документов было пересохранено.';
?>

Пересохранить ноды определённого типа:

<?php
$result = db_query("SELECT nid, type FROM {node}");
$count = 0;
set_time_limit(0);
while ($current_node = db_fetch_array($result)) {
  if ($current_node["type"] == 'og_group') {
    node_save(node_load($current_node["nid"]));
    echo $current_node["nid"].'<br />';
    $count++;
  }
}
echo 'Готово. '.$count.' документов было пересохранено.';
?>

Использованные материалы

 
 
 

RSS-лента новостей

Dries Buytaert по-русски
]]>Русский поиск Drupal]]>

Перенос сайта из Joomla в Drupal
Перенос сайта из WordPress в Drupal

]]> Drupal - это бесплатная система управления контентом с открытым исходным кодом ]]>