ルールに「未承認のコメントがある」という条件を追加したい

Events happening in the community are now at Drupal community events on www.drupal.org.
bzj00220's picture

管理者がログインした時
未承認のコメントがある場合は
「未承認のコメントがあります」などの
メッセージを表示したいと思っています。

ルールで設定することを考えているのですが
・管理者がログインした時
・「未承認のコメントがあります」というメッセージを表示する
は特に問題ないのですが

・未承認のコメントがある場合
という条件が見当たらないので困っています。

ホーム ≫ 管理 ≫ 環境設定 ≫ ワークフロー ≫ ルール ≫ コンポーネントタブ
でできそうな気がするのですが
何度か試行錯誤してみたのですが、どうしてもわかりません。

ルールに「未承認のコメントがある」という条件を追加できる方法を
知っている方がいらっしゃいましたら教えていただければ幸いです。

または、その他の方法でも同じようなことができるのであれば
教えていただければ幸いです。

Comments

blauerberg's picture

RulesのConditionに、以下のPHPコードを条件として追加すれば実現できます。

$unpublished_comment = db_select('comment', 'c')
  ->condition('status', 0)
  ->countQuery()
  ->execute()
  ->fetchField();

return $unpublished_comment != 0;

もっと綺麗にやるなら、同様の機能をRulesのhookで実装するか、すでに実装されているモジュールを探すのが良いと思います。

多分これですね。 Rules for admin

nobuyuki3's picture

多分これですね。
Rules for admin notifications, Part 2: New comments and content
http://drupal.cocomore.com/blog/rules-admin-notifications-part-2-new-com...

Rulesは優れたモジュールである事は誰もが認めるところなんですが、かなり複雑に出来ていて、慣れないと面倒です。実際のサイトに実装する時に少しでも間違えたら大変な事になりそうなモジュールなので、シンプルにならないかな・・・と思わずにはいられません。

もし、管理者じゃなくて、自分の投稿したノードとかであれば、こちらが良く解説されています。
http://drupalize.me/videos/notify-author-comments

nobuyuki3's picture

あ、ごめんなさい。勘違いしてました。
「未承認の」という条件付きなんですね。

How to configure email notification of new Drupal (v6 and v7) comments awaiting approval
http://www.jasonhooker.com/configure-drupal-notification-on-new-comments

こんなモジュールも
http://drupal.org/project/comment_count_notify

どちらもメールで通知みたいですね、やっぱり、コード書かなきゃ画面表示は無理なんでしょうか。

ありがとうございました。

bzj00220's picture

blauerbergさん、nobuyuki3 さん、ありがとうございました。
blauerbergさんの方法を試したところ
すんなりとうまくいったので
そちらの方法を使いました。

ありがとうございました。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: