2

Drupal 7.18,我使用从导入的提要项创建节点的提要和提要新闻模块。数据库变得太大,我想完全删除超过 4 周的提要项目。我可以通过编辑特定的提要手动删除提要中的所有项目,使用“删除项目”选项卡,但我只想删除超过 4 周的项目,并设置项目过期规则。我没有找到执行此操作的设置。

4

4 回答 4

0

我安装了开发模块,它有开发生成模块,在“生成内容”菜单中,我们可以选择生成不同的内容类型,并在生成新内容之前选择删除给定内容类型中的所有内容。我检查了这个选项并将新节点数量设置为零。因此,Devel Generate 模块删除了所有节点(Feed 项),但没有创建新节点。

于 2013-01-31T00:19:00.457 回答
0

我自己正在寻找这个,我只是要创建一个视图来收集超过 1 个月的文章的所有 nid 并将它们传递给node_delete_multiple($nids) 并将它放在我的自定义模块的 hook_cron() 中,这样它将运行克朗。下面是我的 hook_cron() 函数中的代码。

//remove old articles from site.
$old_articles = views_get_view_result('articles_to_delete');
foreach($old_articles as $article){
  $nids_to_delete[]=$article->nid;
}
$num_articles = count($nids_to_delete);
if($num_articles > 0){
  node_delete_multiple($nids_to_delete);
  watchdog('city_sync', '%num old articles were deleted in cron run.', array('%num' => $num_articles), WATCHDOG_NOTICE);
}
于 2013-01-29T19:58:43.693 回答
0

聚合器模块(在核心中,但默认禁用)实际上是这样做的:它聚合提要项目但不创建新节点。

如果您需要在这 4 周期间创建要使用的实际节点(例如,在自定义视图中),也许您可​​以使用规则模块自动将published状态设置为未发布 if $today - $datepublished > 4 weeks

于 2013-01-27T15:45:25.533 回答
0

目前正在开发的补丁允许您管理从提要中删除的提要项目: https ://drupal.org/node/1470530

于 2014-02-20T17:45:34.047 回答