カーテンを買うなら「スマイルカーテン」

EC CUBE 4 購入時にクーポンコードなどを入れるカスタマイズ

SSLサーバ証明書なら、低価格・24時間サポートのドメインキーパー!

まだこの記事は解決していません。

下記のカスタマイズでは「お届け先の変更」が出来なくなっていることに気づきました。
そのうち修正します。

時間があまりにも無いので簡易的なカスタマイズ。
src/Eccube/Resource/template/default/Shopping/に
index.twigというファイルがあるのでこちらからテンプレートを編集していきます。
371行目辺り

<div class="ec-orderConfirm">
                    <div class="ec-rectHeading">
                        <h2>{{ 'ご紹介コード(必須) / お問い合わせ'|trans }}</h2>
                    </div>
                    <div class="ec-input">
                        {{ form_widget(form.message, {'attr': {'class': 'form-control', 'placeholder': 'ご紹介コードをお持ちでしたらこちらにご入力ください。また、お問い合わせ事項がございましたら、こちらにご入力ください。(3000文字まで)'|trans, 'rows': '6'}}) }}
                        {{ form_errors(form.message) }}
                        <a href="https://shomane-coffee.com/codegen/" target="_blank">紹介コードをお持ちでない方はこちらから発行してください。</a>
                    </div>
                </div>

こんな感じで紹介コードを入れられるようにしました。
でも紹介コードが必須ということで、
src/Eccube/Form/Type/Shopping/
内の
OrderType.php
を編集していきます。
100行目辺り

        $builder->add('message', TextareaType::class, [
            'required' => true, //falseからtrueに変更
            'constraints' => [
                new Length(['min' => 0, 'max' => 3000]),
            ],
        ])->add('Shippings', CollectionType::class, [
            'entry_type' => ShippingType::class,
            'by_reference' => false,
        ])->add('redirect_to', HiddenType::class, [
            'mapped' => false,
        ]);

これで必須項目となりました。

このあたりはsymphonyやtwigに詳しい人ならわかると思いますがentityに結びついたFormTypeを全て手動で設定していく必要があります。
それに合わせてテンプレートに書き込んでいけばOKです。

ほんとすみません時間が無い人のブログは読みにくくて・・・・。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください