Views で「承認待ちのコメント」ブロックを作る

Drupal ではデフォルトで、匿名ユーザーのコメントの掲載には管理者の承認が必要ですが、承認待ちのコメントを確認するには承認待ちのコメント一覧ページ(/admin/content/comment/approval)にアクセスする必要があります。

これをどこからでも確認できるように、Views を使ってブロックで表示したいと思います。

「管理」 > 「サイト構築」 > 「Views」から、Add new view をクリック。

View name に「承認待ちのコメント」、システム内部名称に「comments_approval」と入力、表示に「コメント」、並び順は「Newest first」を選択します。Create page のチェックボックスのチェックを外し、Create block チェックボックスにチェックを入れます。Display format は「HTML list」 of 「fields」と選択し、「Continue & edit」をクリックします。

Views ビューの設定画面に移ります。ここではまず、「承認待ちのコメント」ブロックが表示されるのは管理者だけにしたいので、ビューのアクセスコントロールを設定します。真ん中 BLOCK SETTINGS の Access: 権限のところをクリックしてください。

アクセス制限の設定画面です。「役割」のところにチェックを入れて、適用ボタンをクリックします。

次の画面でどのロール(役割)にアクセスを許可するのかを聞いてくるので、「administrator」にチェックを入れ、適用ボタンをクリックします。これで administrator ロールのユーザー以外にはこのビューは表示されなくなります。

次に左下「FILTER CRITERIA」の設定を編集します。これはフィルタリングの設定です。現在はデフォルトで承認済みのコメントを表示するようになっていますが、これを未承認のコメントを表示するように変更します。「コメント: Approved (はい)」のところクリックしてください。

コメント: Approved の設定画面です。ここで Approved comment に「いいえ」を選択して Apply (all displays) ボタンをクリックします。これで未承認のコメントだけがリストアップされます。

今度は表示するフィールドをもうひとつ、追加します。そのコメントがいつ投稿されたものか一目で分かるようにしたいと思います。画面左側FIELDS のところの「追加」ボタンをクリック。

フィルターに「コメント」を選択し、「コメント: Post date」の項目を探してチェックを入れます。

「コメント: Post date」の設定画面です。Create a label のチェックを外し、日付の書式に「Time ago (with "ago" appended)」を選択します。

次に未承認のコメントが無い場合に表示される文面を設定します。画面右側、アドバンスカラムをクリックして開き、NO RESULTS BEHAVIOR のところの「追加」ボタンをクリックしてください。

NO RESULTS BEHAVIOR の設定画面です。Global: Text area にチェックを入れ、適用ボタンをクリック。

「承認待ちのコメントはありません。」と入力して、適用ボタンをクリックします。これで未承認コメントが無い場合には「承認待ちのコメントはありません。」と表示されます。 ここまで設定したら、ビューの設定画面右上「保存」ボタンをクリックして、ビューの設定を保存してください。

ブロックの設定ページ(/admin/structure/block)にアクセスし、「View: 承認待ちのコメント: Block」のところのセレクトボックスで、表示したいリージョンを選択します。選択したらページ下「ブロックの保存」ボタンをクリックして設定を保存してください。

「承認待ちのコメント」ブロックが表示されました。(図は当サイトのキャプチャですが、何やら海外からのスパムコメントが入っているようです。(汗;)) もう少し、手を入れてみます。もう一度先ほどのビューの設定画面に入ってください。

右側下のほうにある「Link display」のところをクリック。

「Link display」下の設定画面です。「Custom URL」にチェックを入れ、テキストフィールドに「admin/content/comment/approval」と入力したら、適用ボタンをクリック。

次に、真ん中のカラムの下のほうにある「More link: いいえ」をクリック。

「Create more link」にチェックを入れ、「Display 'more' link only if there is more content」のチェックを外します。適用ボタンをクリック。

ビューの設定画面右上「保存」のボタンをクリックして設定を保存したら、ブロックの表示されるページに戻ってください。図のように more リンクが追加されました。リンクをクリックすると先程の「Link display」設定画面で入力したページ(/admin/content/comment/approval)に移動します。

コア: 
Drupal7