遍历和更新 drupal 站点中每个节点的最有效方法是什么,例如以机械方式添加标签?Drupal 6 有一个闪亮的新批处理 API,但是在 Drupal 5 中做什么呢?
我开始编写一个保留指针的脚本,然后遍历 cron 上的所有节点,加载它们,然后保存它们,但我想知道还能做什么。
遍历和更新 drupal 站点中每个节点的最有效方法是什么,例如以机械方式添加标签?Drupal 6 有一个闪亮的新批处理 API,但是在 Drupal 5 中做什么呢?
我开始编写一个保留指针的脚本,然后遍历 cron 上的所有节点,加载它们,然后保存它们,但我想知道还能做什么。
考虑作业队列模块。这是关于它的引用(来自模块的项目页面):
...模块用于对函数调用进行排队以在 cron 上执行。模块使用 job_queue_add() 函数将作业添加到队列中
这个模块是 Drupal 7 的生命周期结束,在 core 中有一个队列。
嗯,我不熟悉 drupal 5 的数据库结构,但如果它与 drupal 6 足够相似,您可以通过在term_node
表格之外轻松地修改这一切。它是节点 ID 到术语 ID 的映射器:
term_node
- nid
- vid
- tid
nid 当然是节点 id,vid 是修订版 id,如果你使用修订版,tid 是术语 id。条款都存储在term_data
term_data
- tid
- name
是更有趣的列。因此,如果您已经有现有术语,则可以创建现有 tid 的快速映射,然后添加到 term_node 中所需的任何节点。无论如何,在这方面粗心可能会导致奇怪的数据问题,所以我不会建议这种方法,除非您对原始数据库感到非常满意。