[eccube3]クーポンプラグインのカスタマイズ

無料だから入れとく的な。

プラグイン

3.0系|クーポンプラグイン|株式会社イーシーキューブ(EC-CUBE開発元)

公式のやつをやっていく。

参考

【3.0.15】クーポンプラグイン(株式会社ロックオン社製) | NAKWEB × EC-CUBE

クーポンは「受注管理」の中に項目が入ってるので違和感がすごい。

購入ページ(クーポン利用画面)

ディレクトリとファイルはここ
app\Plugin\Coupon\Resource\template\default\shopping_coupon.twig

元ファイルをコピーしてバックアップを取っておく。
ふつーにページを作る感じでやれるので、必須タグさえ抜けてなければ大丈夫。

購入ページ

購入ページ(/shopping)ではクーポン利用画面へのリンク、値引きの反映で2つの処理がある。管理してるのはここ。

app\Plugin\Coupon\Event\Event.php

ショートコード(<!–# coupon-plugin-tag #–>)に対応させるため、ポイントプラグインと比べたらちょっとかなりめんどくさい書き方になってる。

クーポン関連項目を追加する

プラグイン側で表示するフォーマットを作成、挿入したい箇所にあるテンプレート側の記述を指定して挿入。プラグインはそうやって画面に反映されてるので、独自デザインに挿入したい場合、タグとかコードがない場合はその部分に追記したり変更したりしてやっていくことになる。

ちなみにコードが使える場合はController関係、そうじゃない場合はEventが担当みたいな感じなんで、まずはそこを読み解くところからはじまる。

初期状態でいう57行目以降の部分。2箇所いじる。
まずはリンク部分。

        $snipet = $app['twig']->getLoader()->getSource('Coupon/Resource/template/default/coupon_shopping_item.twig');
           $search = '<h2 class="heading02">お問い合わせ欄</h2>';

込み入りすぎててヤバいから全部をコピペするのはヤバい。局所的に元のコードをコメントアウトしてコピーして、ファイル名・サーチ対象を変更した方が良い。

次は合計額のところの値引き部分。

            // 元の合計金額は書き込み済みのため再度書き込みを行う
            $snipet = $app['twig']->getLoader()->getSource('Coupon/Resource/template/default/discount_shopping_item.twig');
            $search = '<div id="summary_box__result" class="total_amount">';

同じように書き換える。

各種パーツ

前項のパーツのディレクトリとファイル名。まあソースに書いてるけども。

クーポン利用画面へのリンク
app\Plugin\Coupon\Resource\template\default\coupon_shopping_item.twig

値引きの更新
app\Plugin\Coupon\Resource\template\default\discount_shopping_item.twig

どういじるかは優しいので割愛。

購入履歴ページ

見落としがちになるけど、購入履歴にもクーポン情報は表示される。
購入履歴に記載できる内容でいえば、購入確認のメール本文も記載されてるし、クーポンコードとかクーポン名を表示するほどのことなんかな、みたいな気持ちもあるけど。

独自デザインでやる場合は他と同様にtemplateとEventをいじればいい。

  • \app\Plugin\Coupon\Resource\template\default\mypage_history_coupon.twig
  • \app\Plugin\Coupon\Event\Event.php

この2つ。テンプレは簡単だから割愛するとして、Eventは以下の2箇所を編集。

        // twigコードを挿入
        $snipet = $app['twig']->getLoader()->getSource('Coupon/Resource/template/default/mypage_history_coupon.twig');
            $search = '<h2 class="heading02">お問い合わせ</h2>';

テンプレート名を書き換えて、挿入箇所の直後の文字列をはめ込む。
簡単ですね。

コメント

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