Drupal 7 – Jak hromadně smazat node určitého typu?

Právě si hraji s hromadným importem dat do Drupal 7. Jelikož při testování vzniká velké množství záznamů, které by bylo zdlouhavé ručně mazat, napsal jsem si jednoduchý skript, který to zvládne podstatně rychleji.

//fetch the nodes we want to delete
$count = 0;
$result = db_query("SELECT nid FROM {node} WHERE type=:content_type", array(':content_type' => 'article'));
foreach($result as $record) {
  node_delete($record->nid);
  $count++;
}
//simple debug message so we can see what had been deleted.
drupal_set_message("$count nodes have been deleted");

Tento skript je nejrychlejší spouštět v modulu debug přes položku „Spustit vlastní PHP kód“.

Jako základ jsem využil řešení pro starší verze Drupal http://www.computerminds.co.uk/…content-type



Komentáře

Zatím nikdo nepřidal komentář, můžete být první.



O autorovi

Pari

Vítejte na mém blogu, rád bych se v krátkosti představil. Je mi 26 let. Momentálně nejvíce času věnuji projektu Lepime.cz - obchod se samolepkami na zeď a tvorbě webů postavených na redakčním systému Drupal pod značkou MEPA.CZ.