EC-CUBE 4.2 / 4.3 対応

最近見た商品プラグイン

RecentViewProduct — レビュー評価が連動した「最近チェックした商品」履歴一覧を自動追加するプラグイン

プラグインコード: RecentViewProduct
提供元: CubeLab

1プラグイン概要

最近見た商品プラグイン(RecentViewProduct)は、EC-CUBE 4.2 / 4.3 サイトにて、顧客が閲覧したことのある商品詳細ページの履歴を自動で記録し、商品詳細ページの下部(もしくは設定されたブロック箇所)に「最近チェックした商品」として一覧表示するプラグインです。

各商品の表示データには、EC-CUBE標準の **レビュー件数** および **平均評価(星★)** もシームレスに連動して表示されるため、購入の動機付けや別商品への回遊率を効果的に高めることができます。

主な機能特徴

  • 自動挿入 & レイアウト連動: 商品詳細ページへ専用セクション(最近見た商品)が自動的に埋め込まれます。
  • 会員 & ゲスト両対応:
    • ログイン中の会員:アカウントIDに紐づけて履歴データベースへ保存(デバイスをまたいでも履歴が残ります)。
    • 未ログインのゲスト:セッションIDを元に履歴を一時保存(ブラウザセッション中のみ保持)。
  • レビュー機能との高度な連携: 商品の平均レビュースコアを視覚的(星マーク)かつ件数付きで一覧上に表示可能。
  • 現在表示中商品の自動除外: 「最近見た商品」リスト内から、現在まさに開いている商品自体は自動的に除外されてスマートに表示されます。
  • 管理画面からの件数調節: 管理画面から表示最大数(デフォルト 6件)や機能のON/OFFをいつでも編集可能。

2インストール・有効化

2-1. ファイル配置

プラグインのプログラムファイルを EC-CUBE の Plugin ディレクトリへ配置します。

/path/to/eccube/app/Plugin/RecentViewProduct/   ← ここに配置
ディレクトリ名は必ず RecentViewProduct (大文字・小文字含む)で一致させてください。

2-2. コマンドでの有効化

EC-CUBE ルートディレクトリにて以下のコマンドを実行します。

cd /path/to/eccube
php bin/console eccube:plugin:install --code=RecentViewProduct
php bin/console eccube:plugin:enable --code=RecentViewProduct
php bin/console cache:clear

3閲覧履歴の保存ロジック

顧客が商品詳細ページ(/products/detail/{id})をロードしたタイミングで、イベントリスナー(ProductDetailEvent)が動作します。

ログイン会員の場合

会員テーブルのIDに紐付く形で、plg_recent_viewed_products テーブルに商品IDと閲覧時間(タイムスタンプ)が保存されます。PCからスマートフォンに変えても、ログインすれば同じ閲覧履歴が維持されます。

非会員(ゲスト)の場合

PHPセッションIDをキーとして、同様に履歴がデータベースに保存されます。ブラウザを閉じると一定時間で履歴は初期化されます。

4フロントエンドでの表示

商品詳細ページの下部(レビュー一覧の上または下)に、「最近チェックした商品」としてカルーセル・グリッド形式で表示されます。

テンプレートファイルは以下に配置されており、HTML/CSSのカスタマイズも容易です:

app/Plugin/RecentViewProduct/Resource/template/default/recent_viewed_products.twig
表示する商品の画像、規格価格、そして星による評価スコア(★4.5 など)が自動的にレンダリングされます。

5プラグイン設定項目

管理画面の オーナーズストア ➔ プラグイン一覧 ➔ 最近見た商品 ➔ 設定(歯車アイコン) から設定します。

設定項目デフォルト値説明
機能有効フラグON機能自体のON/OFFを切り替えます。OFFにするとフロントにセクションが表示されなくなります。
最大表示件数6 件「最近見た商品」に並べる商品の最大数を設定します。レイアウトに合わせて 3〜12 件程度での調整が推奨されます。

6データベース構成

有効化時に自動生成されるデータベーススキーマは以下の通りです。

6-1. plg_recent_viewed_config (プラグイン基本設定)

カラム型説明
idintegerID(プライマリキー)
enabledboolean有効化ステータス
max_resultsinteger最大表示件数

6-2. plg_recent_viewed_products (ユーザー閲覧履歴)

カラム型説明
idinteger履歴レコードID
customer_idinteger (Nullable)ログイン会員ID
session_idstring(255) (Nullable)非ログインゲスト用セッションID
product_idinteger閲覧された商品ID
viewed_atdatetime閲覧されたタイムスタンプ

7よくあるご質問(FAQ)

Q1. カルーセルの表示数を変更するには?

A. 管理画面のプラグイン設定にて「最大表示件数」をお好みの値(例: 4や8など)に変更し、設定保存後、EC-CUBEのキャッシュクリアを実行してください。

Q2. レビューの評価が表示されない商品があります。

A. レビューがまだ1件も投稿されていない商品の場合、星評価部分は非表示(または0件表示)となります。レビュー機能自体が無効化されている場合も星は表示されません。

Q3. カスタマイズの相談窓口はありますか?

A. 表示場所の変更や、デザインスタイルの個別変更、その他カスタマイズのご相談は、CubeLab 公式サイトのお問い合わせフォームよりご相談ください。