今回のカスタマイズ内容
EC-CUBEでは商品に設定する価格は「通常価格」と「販売価格」とがありますが、「通常価格」は商品の詳細画面に表示されるだけで、どの会員にも一律同じ「販売価格」で商品を提供しています。今回のカスタマイズでは、会員情報に「会員分類」という項目を追加します。
会員分類はmtb_bunruiというマスタファイルを追加し、「1:小売会員」には通常価格で、「2:卸売会員」には販売価格で提供することにします。
今回のカスタマイズ範囲は下記のとおりとします。
[管理機能]
- 会員情報(dtb_customer)に会員分類(plg_bunrui)を追加する。
- 会員登録画面に会員分類を追加し、リストボックスで選択できるようにする。
- 会員マスターの検索条件に会員分類を追加し、リストボックスで選択できるようにする。
- 会員検索結果一覧に会員分類を追加する。
[フロント機能]
- 卸売会員がログインした場合は販売価格を卸売価格と表示し、商品情報の販売価格で表示する。
- 上記以外の場合は商品の通常価格で表示する。
- 商品詳細画面では通常価格、販売価格の2重表示を止め、卸売価格もしくは販売価格のみを表示する。
本来は上記以外にも変更すべき箇所はありますが、以上にとどめます。
会員分類マスタの追加
データベースはPostgreSQLを使用し、phpPgAdminで管理することを前提としていますので、phpPgAdminを起動し下記SQLを実行します。
CREATE TABLE mtb_bunrui ( id SMALLINT NOT NULL DEFAULT 0, name TEXT DEFAULT '', rank SMALLINT DEFAULT 0, PRIMARY KEY (id)); COMMENT ON TABLE mtb_bunrui IS '会員分類マスタ'; COMMENT ON COLUMN mtb_bunrui.id IS '会員分類ID'; COMMENT ON COLUMN mtb_bunrui.name IS '会員分類名称'; COMMENT ON COLUMN mtb_bunrui.rank IS 'ランク';
phpPgAdminを使用する場合、コメントが表示されたほうがわかりやすいので追加しましたが、除外しても結構です。また、MySQLの場合はコメントを付けるSQLは異なりますので、同じく除外して下さい。
会員分類マスタの登録
マスタ登録は管理画面で行います。「システム設定」-「マスターデータ管理」を選択し、リストボックスから追加した「mtb_bunrui」を選択し、[選択]ボタンをクリックして登録します。
画面の修正はプラグインで行い、ロジックについては拡張クラスのカスタマイズ方式とします。
次回はプラグインでの画面修正について解説します。