バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品購入画面の支払方法と配送方法の連動

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yukkie
投稿日時: 2020/4/27 11:19
対応状況: 開発中
半人前
登録日: 2017/11/14
居住地:
投稿: 24
商品購入画面の支払方法と配送方法の連動
▼テンプレート
[EC-CUBE]3.0.16

商品種別Aに対し
支払方法に支払A,支払Bを設定
配送方法に配送A,配送Bを設定
配送Aは支払Aにチェック、配送Bは支払Bにチェックを入れています。

商品は全て商品種別Aになります。

この状態で購入画面に進むと
配送方法は配送Aが選択されたセレクトボックス
支払方法は支払Aのみが表示されたチェックボックスになります。

そして配送方法のセレクトボックスで配送Bを選択すると、支払方法は支払Aのままで「入力されていません」とエラーが表示されます。
その後支払方法の支払Aが表示されたチェックボックスをONにすると、表示が支払Bに変更されます。

できれば配送方法を配送Bにした段階で支払方法も支払Bに連動して動かしたい(逆も同じ)のですが、どこをカスタマイズしたらよいのかよく分かりませんでした・・・。
こういったカスタマイズは可能でしょうか。
何かヒントだけでもいただけると助かります。

宜しくお願い致します。

468
投稿日時: 2020/4/27 11:51
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 商品購入画面の支払方法と配送方法の連動
私はそのパターンは解決する事が出来ませんでした。

入力エラーが発生する理由は投稿いただいた通り、
配送方法変更時にページをリロードする為の通信時に
支払方法が入力チェックに引っかかってしまうからという事になります。

/src/Eccube/Controller/ShoppingController.phpのfunction delivery()が
該当処理の記述なのですが
リロードのリクエストを受け取った後、
$builder = $app['eccube.service.shopping']->getShippingFormBuilder($Order);
で入力フォームの支払方法(選択した配送Bに基づいて)を組み立てた後に
以下の箇所で入力チェックを行っており、
if ($form->isSubmitted() && $form->isValid()) {
支払方法の選択肢に存在しない値(支払A)がリクエストのPOSTにセットされている為、
入力値エラーという判定になっています。

ここの入力値エラーを外せば問題は起きなくなりますが、
予期せぬ値を受け取るようになっても怖いと思い、結局、そのままとしました。
画面全体をリロードせずにjavascriptで支払方法だけ部分更新させるようなカスタマイズは可能かと思いますが
その時は予算的にその対応は不要という結論になりました。

何か良い方法があれば、私も知りたいところです。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

yukkie
投稿日時: 2020/4/27 13:10
対応状況: −−−
半人前
登録日: 2017/11/14
居住地:
投稿: 24
Re: 商品購入画面の支払方法と配送方法の連動
ご返信ありがとうございます!
そうでしたか・・・。
そうするとこの動き(配送方法と支払方法の連動)はEC-CUBE3の仕様になるということなのでしょうか。
javascriptで支払方法だけ部分更新させるようなカスタマイズをやるかは、確かに悩ましいですね、
468
投稿日時: 2020/4/27 14:23
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 商品購入画面の支払方法と配送方法の連動
もしかしたら
$form->handleRequest($request);
より前にリクエストで渡された値から配送方法を判定して
リクエストの支払方法を支払A→支払Bに置き換える方法でも対応できるかもしれません。

リクエストの値を書き換えるという事が
function delivery()内で出来るかどうかは分かりませんが...


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

yukkie
投稿日時: 2020/4/27 16:13
対応状況: −−−
半人前
登録日: 2017/11/14
居住地:
投稿: 24
Re: 商品購入画面の支払方法と配送方法の連動
ご返信ありがとうございます!
なるほど・・・。なかなか厳しそうですね。
でももう少し調査、検証してみます。
情報ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,857名です
総投稿数は109,992件です

投稿数ランキング

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