「お気に入り」を簡単に実装できる ~ Flag モジュール

阿部 正幸

今回はサイト内の記事を「お気に入り」に追加する機能を簡単に実装できる、Flag モジュール(※)を紹介したいと思います。

※ Flag モジュールは2019年5月現在まだ安定版ではないので、うまく動作していない部分があります。

Flagモジュールとは

Flag モジュールとは Drupal の代表的なモジュールのひとつで、大変汎用性が高いモジュールです。

簡単に言えばコンテンツやユーザー、コメントなどさまざまなものにフラグを付けられるというものですが、非常にきめの細かいカスタマイズが管理画面の設定から可能。Views モジュールともうまく連携していて、一覧リストも容易にカスタマイズが可能となっています。

そのため「お気に入り」機能だけでなく、気に入ったユーザーをフォローできる「フォロワー」機能、イベントなどの出欠管理機能、スパムコメントにフラグを付け一覧で表示する機能など、さまざまな応用が可能です。

実装手順

それでは「お気に入り」機能を実際に実装してみましょう。

Flag モジュール https://www.drupal.org/project/flag からモジュールをダウンロードして配置したら、拡張機能のページから Flag モジュール、Flag Bookmark モジュールを有効にします。

Flag Bookmark モジュールは Flag Follower モジュールとともに Flag モジュールに同梱されているモジュールです。

Flag Bookmark モジュールを選択した画面

次に、管理 > People > 権限 のページから、Flag セクションの「Flag Bookmark」と「Unflag Bookmark」の項目について、許可したいユーザーロールに権限を付与します。今回は、匿名ユーザーも含めすべてのロールにチェックを入れてみます。チェックを入れたら画面下「権限の保存」ボタン押下で設定を保存。

「Flag Bookmark」と「Unflag Bookmark」項目の位置

 

実はこれだけで、一般的なお気に入り機能は実装されています。

確認

メインナビゲーションメニューに「My Bookmarks」が追加されていますが、これをクリックするとお気に入り一覧ページにアクセスできます(まだお気に入りが1件も登録されていないので、何も表示されませんが)。

「My Bookmarks」タブの位置

何かひとつ、記事のページにアクセスしてみると、「Bookmark this」というリンクが表示されています。これをクリックすると、「Remove bookmark」という表記に変わり、このコンテンツが My Bookmarks(お気に入り)に登録されます。

「Bookmark this」リンクの位置

My Bookmarks のページに再度アクセスしてみると、今追加した記事を確認できます。「Remove Bookmark」をクリックすると My Bookmark から除外されます。

 

下記画面は Views で作成されているので、表示する項目や表示順、ページ毎に表示する件数など、自在に編集が可能です。ビューの編集は管理 > サイト構築 > ビューズ > Flag Bookmark list(Content)から可能です。

「My Bookmarks」一覧画面

表示位置の変更

記事ページに表示される「Bookmark this」リンクの表示位置を変更するには、該当のコンテンツタイプ(今回は「記事」(Article))の表示管理画面から行います。

管理 > サイト構築 > コンテンツタイプ > Article のアクセスすると、「Flag: Bookmark」という項目が追加されていますので、ドラッグして表示したいところに持ってきます。

「Flag: Bookmark」項目を移動する画面

移動したFlagリンクの位置

※Flag のリンクが本文の前に表示されました。

次回の記事ではFlagモジュールのカスタマイズとして、Bookmarkを入れるときに、確認画面が出力されるようにします。

次の記事「Flagモジュールのカスタマイズ方法」へ

阿部 正幸/ 代表取締役

Drupal歴15年、ウェブマーケティング、インフラ構築、AP開発が守備範囲です。
キャッチボールと日本酒が好きです。天気の良い日に、誰かキャッチボールして、立呑に付き合ってください。
好きなDrupalモジュールはIMCEです。

阿部 正幸 の書いた記事一覧

  • Facebook

最新の関連記事

Ranking

Category

Tag

Contact お問い合わせ

Drupalでの開発・運用、サーバー構築、Webサイト構築全般、制作費用などに関してお気軽にご相談ください。