バージョン選択

フォーラム

メニュー

オンライン状況

62 人のユーザが現在オンラインです。 (51 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 62
もっと...

サイト内検索

質問 > フロント機能 > お届け日を必須選択にする方法

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
okazy
投稿日時: 2019/1/15 13:39
対応状況: −−−
半人前
登録日: 2017/10/11
居住地:
投稿: 28
Re: お届け日を必須選択にする方法
お届け日の必須チェックは以下の箇所にバリデーションの処理を入れることでチェック可能です。

https://github.com/EC-CUBE/ec-cube/blob/87087e7ce97448cccfa5018e39f7c57b3b3f3ddc/src/Eccube/Form/Type/ShippingItemType.php#L121-L132

130行目を書き換えてお届け日がからの場合はaddError()でエラーを追加するように変更しています。


            ->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) {
                /** @var \Eccube\Entity\Shipping $data */
                $data = $event->getData();
                /** @var \Symfony\Component\Form\Form $form */
                $form = $event->getForm();
                $shippingDeliveryDate = $form['shippingDeliveryDate']->getData();
                if (!empty($shippingDeliveryDate)) {
                    $data->setShippingDeliveryDate(new \DateTime($form['shippingDeliveryDate']->getData()));
                } else {
                    // 画面下部にエラーメッセージを表示させる
                    $form['shippingDeliveryDate']->addError(new FormError('お届け日は必ず指定してください。'));
//                    $data->setShippingDeliveryDate(null);
                }
            });


そのままではエラーが画面に表示されませんので、テンプレートファイルを少し変更する必要があります。

https://github.com/EC-CUBE/ec-cube/blob/87087e7ce97448cccfa5018e39f7c57b3b3f3ddc/src/Eccube/Resource/template/default/Shopping/index.twig#L280



                                <label>お届け日</label>
                                {{ form_widget(form.shippings[idx].shippingDeliveryDate) }}<br class="sp">






                                <label>お届け日</label>
                                {{ form_widget(form.shippings[idx].shippingDeliveryDate) }}{{ form_errors(form.shippings[idx].shippingDeliveryDate) }}<br class="sp">



お届け時間についても同様にチェックとエラー表示の処理を追加すれば対応できるかと思います。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   お届け日を必須選択にする方法 ateshi 2019/1/10 14:43
   » Re: お届け日を必須選択にする方法 okazy 2019/1/15 13:39
       Re: お届け日を必須選択にする方法 ateshi 2019/2/12 11:46
         Re: お届け日を必須選択にする方法 468 2019/2/12 13:00
           Re: お届け日を必須選択にする方法 ateshi 2019/2/12 17:03
             Re: お届け日を必須選択にする方法 468 2019/2/13 12:12

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,037名です
総投稿数は110,020件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.