EC-CUBEの商品一覧ページURLのパラメータで特定商品の表示をコントロールする

EC-CUBEの商品一覧ページURLのパラメータで特定商品の表示をコントロールする EC-CUBEカスタマイズ
この記事は約3分で読めます。
株式会社サンクユーはEC-CUBEに強い制作会社で、EC-CUBE構築が得意です。
EC-CUBEカスタマイズの事例やEC-CUBEに関する情報を発信しています。
今回のテーマは『EC-CUBEの商品一覧ページURLのパラメータで特定商品の表示をコントロールする』です。

商品一覧ページに表示したくない商品

通常の商品一覧ページには表示させたくないけど、特定カテゴリーページ(これも商品一覧ページです)のみは表示させたいというご要望を頂くことがあります。

会員のみ、もしくは特定会員のみに商品を表示して、非会員には商品を表示しないという仕様であれば、会員か会員でないかで判断すれば良いので比較的簡単です。
しかし、非会員であっても特定カテゴリーページのみに商品を表示させたい場合、どうコントロールすればいいでしょうか?

URLのパラメータで商品の表示・非表示を制御する

商品一覧ページのURLのパラメータで商品の表示をコントロールすることができます。

EC-CUBEの商品一覧ページのURL構造

EC-CUBEの商品一覧ページのURLは以下のような構造になっています。
ドメイン/products/list.php?transactionid=&mode=&category_id=8&maker_id=0&name=&orderby=date&disp_number=50&pageno=1&rnd=dur

list.php以降のパラメータになります。
パラメータとは、list.phpというプログラムに情報を渡すものです。
パラメータの一部をご説明しましょう。

  • orderby=date:商品の並び順が更新日
  • disp_number=50:1ページあたりの商品表示件数が50件
  • pageno=1:現在1ページ目を表示している

URLのパラメータを利用して商品の表示をコントロールする

以上のようにパラメータはプログラムに情報を渡します。
言い換えれば、パラメータによってプログラムに指令を送ることが可能です。
つまり、パラメータの値によって特定商品の表示をコントロールする訳です。

EC-CUBEカスタマイズ内容

EC-CUBEのカスタマイズとしては、以下の内容となります。

  • 商品情報に一覧ページ非表示フラグを追加する
  • list.phpのパラメータにlistdisplayを追加する
  • listdisplay=0の場合、一覧ページ非表示フラグがOFFの商品のみを表示する
  • listdisplay=1の場合、一覧ページ非表示フラグがONの商品を含め全ての表示する
  • URL内にlistdisplayパラメータがない場合、istdisplay=0と同一の動作をする

上記の仕様を実装することで、URLパラメータで特定商品の表示をコントロールすることができます。

事例:年末セールとして社内在庫の販売

このカスタマイズを実装したECサイト様の事例をご紹介します。

弊社のお取引先のあるECサイト様が、年末セールとして社内在庫の販売を検討されていました。
商品一覧ページには通常商品のみを表示させ、セール商品は表示させたくない。
メールで通知するセール品の一覧ページにはセール商品を表示させる必要がある。

この場合、以下で実現可能となります。

  • セール対象商品をセールカテゴリーに設定する。
  • セール対象商品の一覧ページ非表示フラグをONにセットする
  • メールでセールカテゴリーのURLを通知する
    その際、セール商品の一覧ページのURLはlistdisplay=1にする
  • セール商品の一覧ページのURLはlistdisplay=1

上記でメール内のURLをクリックした人のみがセール一覧ページを見ることができます。
直接セール一覧ページのURLを入力した場合、セール一覧ページには商品が表示されないことになります。

タイトルとURLをコピーしました