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

abechiyo 2019/07/18(木) - 11:56 に投稿

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

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

 

Flagモジュールとは

 

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

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

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

 

実装手順

 

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

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

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

モジュールインストール

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

権限設定

 

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

 

確認

 

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

確認

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

確認

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

 

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

remove

 

表示位置の変更

 

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

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

位置変更

確認

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

 

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

 

タグ