バージョン選択

フォーラム

メニュー

オンライン状況

21 人のユーザが現在オンラインです。 (11 人のユーザが フォーラム を参照しています。)
登録ユーザ: 2
ゲスト: 19
shun cha- もっと...

サイト内検索

 > フロント機能 > EC CUBE3.0の「ご注文内容確認」画面での必須チェック

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
siki
投稿日時: 2016/2/17 10:40
対応状況: −−−
新米
登録日: 2016/2/16
居住地:
投稿: 6
EC CUBE3.0の「ご注文内容確認」画面での必須チェック
はじめまして。
ECCUBE初心者です。

「ご注文内容確認」画面において
お届け日とお届け日を必須にしたいと思っております。
src/Eccube/Form/Type/の中の
ShoppingMultipleType.php
ShoppingType.php
の各項目のrequiredをtrueにすればいいのかなと思いましたが
うまく動作しませんでした。

修正するファイルを誤っているのでしょうか?

よろしくお願いいたします。
tacky
投稿日時: 2016/2/17 11:24
対応状況: −−−
長老
登録日: 2015/10/3
居住地: Tokyo
投稿: 277
Re: EC CUBE3.0の「ご注文内容確認」画面での必須チェック
下記2ファイル内の
src/Eccube/Form/Type/ShippingItemType.php
src/Eccube/Form/Type/ShoppingMultipleType.php

deliveryDateとdeliveryTimeのempty_valueを消してしまえば「指定なし」がなくなるので、目的は達成できるかなと思います。
siki
投稿日時: 2016/2/18 8:13
対応状況: −−−
新米
登録日: 2016/2/16
居住地:
投稿: 6
Re: EC CUBE3.0の「ご注文内容確認」画面での必須チェック
ありがとうございます!

少し説明不足でした。
必須チェック以外にもチェックを追加したいと思っており、
エラーの表示方法が分かればなと思っておりました。

流れとして、「注文する」ボタンを押下した際に
function confirmの中で各判定を行い、
エラーの場合は

$app->addError('XXXXXX');
return $app->redirect($app->url('shopping'));


の様にエラーメッセージを渡したいのですが、
表側に渡したエラーメッセージを表示する方法がわかりません。。。

説明不足大変失礼しました。
siki
投稿日時: 2016/2/18 8:51
対応状況: −−−
新米
登録日: 2016/2/16
居住地:
投稿: 6
Re: EC CUBE3.0の「ご注文内容確認」画面での必須チェック
ご回答ありがとうございます。


説明が色々と不足しておりました。

やりたいこととして
?「お届け日」の必須チェックを行いたい。
※今後、場合分けなどでエラーチェックをおこなう予定なので「指定なし」は残したままで。
?「お問い合わせ欄」の必須チェックを行いたい。

?に関して
ShippingItemType.phpの中のフォーム作成で
requiredをtureにした

->add('shippingDeliveryDate', 'choice', array(
                        'choices' => $deliveryDates,
                        'required' => true,
                        'empty_value' => '指定なし',
                        'empty_data' => null,
                        'mapped' => false,
                    ))

しかし、チェックが行われず「指定なし」で購入完了になってしまった。

?に関しても同じような対応
ShoppingType.phpの中で
messageのrequiredをtrueにしたが未入力でこうミュウ完了になってしまった。

現状、このような状態です。
tacky
投稿日時: 2016/2/18 10:47
対応状況: −−−
長老
登録日: 2015/10/3
居住地: Tokyo
投稿: 277
Re: EC CUBE3.0の「ご注文内容確認」画面での必須チェック
必須チェックでしたらAssert\NotBlank()を追加してあげてください。

'constraints' => array(
new Assert\NotBlank(),
),

1,2共に選択or入力していないと「入力されていません」と表示が出ます。
siki
投稿日時: 2016/2/18 12:10
対応状況: −−−
新米
登録日: 2016/2/16
居住地:
投稿: 6
Re: EC CUBE3.0の「ご注文内容確認」画面での必須チェック
ありがとうございます。

tacky様のおっしゃる通り
以下の様にAssert\NotBlankを追加してみました。

                    ->add('shippingDeliveryDate', 'choice', array(
                        'choices' => $deliveryDates,
                        'required' => false,
                        'empty_value' => '指定なし',
                        'mapped' => false,
                        'constraints' => array(
                                new Assert\NotBlank(),
                        ),
                    ))


日付けが「指定なし」になっている場合には購入完了にはならず、
購入画面から遷移しない様にはなりました。

ただ、「入力されていません」というメッセージが表示されないのですが、何か上記余計なことをしてしまっているでしょうか・・・
tacky
投稿日時: 2016/2/18 13:06
対応状況: −−−
長老
登録日: 2015/10/3
居住地: Tokyo
投稿: 277
Re: EC CUBE3.0の「ご注文内容確認」画面での必須チェック
お届け日とお届け時間にform_errorsがないようなので、
src/Eccube/Resource/template/default/Shopping/index.twig内の
お届け日と時間のform_widgetの後にform_errorsを記述してあげてください。

お問い合せ欄はform_errorsの記述があるので、「入力されていません」とのメッセージは出るはずです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1656
8
red
1570
9
mcontact
1312
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.