お知らせ閲覧追跡プラグイン
Github←と同じ内容なのでこっち見た方がいいです。
サンプルプラグインです(AI生成多用してるので修正してね)
Exmentのお知らせテーブル(information)の投稿を誰が見て誰が見ていないかを追跡するプラグインです。
ビューとページビューを使いますのでビューの追加や必要テーブルの作成は各自お願いします。
ページビュー
独自ビュー
![]()
機能
- 自動閲覧追跡: お知らせの詳細画面を開くと自動的に閲覧記録が保存されます
- 既読/未読表示: カスタムビューでお知らせの既読/未読状態を確認できます
- 閲覧統計: ページビューで閲覧統計情報(総数、既読数、未読数、閲覧率など)を表示します
- 閲覧履歴: 最近閲覧したお知らせの一覧を表示します
- 未閲覧ユーザー集計: お知らせごとに誰が見ていないかを一覧表示
- CSVエクスポート: 未閲覧ユーザーの情報をCSVファイルでダウンロード可能
セットアップ手順
1. カスタムテーブルの作成
まず、閲覧記録を保存するためのカスタムテーブルを作成します。
- Exmentの管理画面にログイン
- 管理者設定 → カスタムテーブル → 新規 をクリック
- 以下の設定でテーブルを作成:
- テーブル名:
information_views - テーブル表示名:
お知らせ閲覧記録 - 説明: (任意)
お知らせの閲覧状況を追跡するテーブル
- テーブル名:
2. カスタム列の追加
作成した information_views テーブルに以下の列を追加します:
| 列名 | 列種類 | 表示名 | 必須 | 説明 |
|---|---|---|---|---|
information_id | 整数 | お知らせID | ✓ | 閲覧されたお知らせのID |
user_id | ユーザー列 | ユーザーID | ✓ | 閲覧したユーザーのID |
first_viewed_at | 日付と時刻 | 初回閲覧日時 | ✓ | 最初に閲覧した日時 |
last_viewed_at | 日付と時刻 | 最終閲覧日時 | ✓ | 最後に閲覧した日時 |
view_count | 整数 | 閲覧回数 | ✓ | 閲覧した回数 |
![]()
トラブルシューティング
閲覧記録が保存されない
information_viewsテーブルが正しく作成されているか確認してください- テーブル名が
information_viewsであることを確認してください(スペルミスに注意) - イベントプラグインが正しく設定されているか確認してください
- ログファイルでエラーを確認してください