私のウェブサイトでは、ユーザーがフォーラムで自分のコメントを削除するための削除オプションを与える必要があります。私はコメントを削除し、コメントノードの統計を更新したいと思います。コメントを削除するためのDrupal関数はありますか?drupalのフォーラムコメントをプログラムで削除するにはどうすればよいですか?
0
A
答えて
0
http://drupal.org/documentation/modules/trigger
Drupalトリガー。
0
のような何か...
<?php
// you'll need to include /modules/comment/comment.admin.inc
module_load_include('inc', 'comment', 'comment.admin');
// I'm assuming you have access to the cid, the unique
// identifier for comments stored in the {comments} table
$comment = _comment_load($cid);
_comment_delete_thread($comment);
_comment_update_node_statistics($comment->nid);
?>
このソリューションは、Drupalの6のためですが、commentモジュールからファイルを含める借りて、あまりにも他のバージョンでは、その機能を乗っ取ることができます。
コアフォーラムの機能を拡張するcontribモジュール(Advanced Forumなど)がカスタムコードを書かずにオプションを提供するかどうかはわかりませんが、それを調べたいかもしれません。 Drupalの7において
0
のDrupal 7 (comment_deleteを使用)
<?php
//Delete single comment
$cid = 3917; //cid from `comment` table
comment_delete($cid);
//Delete multiple comments
$cids = array(137421,137426,137427,137428,137429,137430,137431,137434,137450,137472);
foreach ($cids as $cid) {
comment_delete($cid);
}
1
コメント削除に関与するフックを呼び出し、_comment_update_node_statistics()介してノード統計を更新comment_delete_multiple()があります。コメントIDの配列が必要です。 Drupalの6では
は、同等の機能はありませんが、Drupalの7の機能と同等のものを書く、ということを考慮:Drupalの6の取引
- Drupalの6は、コメントを削除する際に呼び出されるフックの名前が
- のDrupal 6は
db_delete()
またはcomment_load_multiple()
ための任意の等価を持っていない
- Drupalの6エンティティのフィールドを持っていません異なっています