3

たとえば、タグを機械的に追加するために、drupalサイトのすべてのノードを調べて更新する最も効率的な方法は何ですか?Drupal 6には光沢のある新しいバッチAPIがありますが、Drupal 5で何をすべきですか?

ポインターを保持し、cron上のすべてのノードを巡回し、それらをロードしてから保存するスクリプトを書き始めましたが、他に何ができるのだろうかと思います。

4

3 に答える 3

4

一部のモジュールは他の関連テーブルを更新する可能性があるため、データベース レベルで直接作業することはお勧めしません。最も信頼性が高く柔軟な方法は、ループ内でノードをロード、変更、および保存するスクリプトを作成することです。Drupal 5 用の特別なモジュールを追加して試すこともできます。

于 2008-10-12T12:22:35.987 に答える
2

ジョブ キューモジュールを検討してください。これについての引用は次のとおりです(モジュールのプロジェクトページから):

... cronで実行する関数呼び出しをキューに入れるためにモジュールによって使用されます。job_queue_add() 関数は、ジョブをキューに追加するためにモジュールによって使用されます

このモジュールは Drupal 7 のサポートが終了しました。 core にキューがあります。

于 2009-04-15T10:46:50.223 に答える
0

うーん、私は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で必要なノードに追加できます。とにかく、この点で不注意であると、奇妙なデータの問題が発生する可能性があるため、生のデータベースにかなり慣れていない限り、このアプローチはお勧めしません。

于 2008-10-11T23:37:30.383 に答える