質問 > フロント機能 > redirect_to について |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kenpocorin |
投稿日時: 2021/1/7 14:22
対応状況: −−−
|
半人前 登録日: 2020/2/26 居住地: 投稿: 16 |
redirect_to について [EC-CUBE] 4.0.3
[OS] Ubuntu 18.04.5 LTS (GNU/Linux 5.4.0-1030-aws x86_64) [PHP] PHP Version => 7.2.24-0ubuntu0.18.04.7 [データベース] MYSQL Server version: 5.7.32-0ubuntu0.18.04.1-log (Ubuntu) [WEBサーバ] Server version: Apache/2.4.29 (Ubuntu) [現象] 【ご注文手続き】の画面に遷移し、配送方法のプルダウンを選択するのですが、 デフォルト1つめが選択された状態から、 上2つを選択した時は /shopping なのですが、 下2つを選択すると、以降はURLが /shopping/redirect_to となります。 /shopping/redirect_to となった時はお届け時間が正しく変更されない現象が発生しており、その原因調査を行っているのですが、redirect_toが付く付かないの違いは何か知りたく質問させていただきました。 よろしくお願いします。 |
umebius |
投稿日時: 2021/1/8 21:30
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: redirect_to について data-triggerという属性がついている要素を操作した時、例えば配送方法を変更したりすると画面上のフォームを一旦/shopping/redirect_toというURLに送信します。
通常はredirect_toから次の画面へすぐリダイレクトされるので目にかかることは少ないですが、フォームの内容に何かしら問題があるとredirect_toで停止します。 原因は独自カスタマイズやプラグインなどいろいろあるので現在の情報からは分かりませんが、$formのエラー内容を確認するなどデバッグすれば近づけるのではないかと思います。 https://github.com/EC-CUBE/ec-cube/blob/4.0.3/src/Eccube/Controller/ShoppingController.php#L184
|
kenpocorin |
投稿日時: 2021/1/12 10:33
対応状況: −−−
|
半人前 登録日: 2020/2/26 居住地: 投稿: 16 |
Re: redirect_to について ご回答ありがとうございます。
なるほど何かしら問題が発生してるからなのですね。 ログを見たらエラーになっておりました。 デバックモードでフォームみたら以下のようなエラーが発生してました。 選択した配送方法の id:1 が choice list にないとメッセージからは読めるのですが何故かはまだわかりません。 ーーーーー お支払い方法を選択してください。 Payment Caused by: ConstraintViolation {#4009 ▼ root: Form {#3227 …} path: "children[Payment]" value: "1" } TransformationFailedException {#3979 ▼ #message: "The choices "1" do not exist in the choice list." #code: 0 #file: "/var/www/ecdev6.usmile.co.jp/vendor/symfony/form/Extension/Core/Type/ChoiceType.php" #line: 131 trace: {▶} } ーーーーー 真っさら ec-cube にプラグイン追加した状態でお届け時間を追加して試すとエラーになるようなので何かのプラグインが原因なのかもしれません。 1つ1つ追加してみて確認してみたいと思います。 少し進みました。 ありがとうございました。 |
kenpocorin |
投稿日時: 2021/1/12 11:11
対応状況: −−−
|
半人前 登録日: 2020/2/26 居住地: 投稿: 16 |
Re: redirect_to について プラグイン何も追加しなくても配送方法編集するだけでおかしくなります。
バグなんですかね‥。 インストール直後に配送方法を1つ追加して動かすとエラーになります。 <再現手順> 1)[店舗設定]->[配送方法設定]から1つ配送方法を追加する 配送業者名:やまと運輸 配送方法名称:やまと運輸 お問い合わせ番号URL:(空) 販売種別:販売種別A 取り扱う支払方法:銀行振込、代金引換 お届け時間設定(2つ追加):1時、2時 都道府県別送料設定:全国一律に設定 999 2)[会員管理]->[会員登録]からテスト購入用ユーザー作成 3)フロントからログイン 4)フロントから【彩のジェラートCUBE】をカートに入れてレジへ進む 5)配送方法をデフォルトで選択されている【サンプル業者】から作成した【やまと運輸】へ変更→エラー発生 |
kenpocorin |
投稿日時: 2021/1/14 19:55
対応状況: 保留
|
半人前 登録日: 2020/2/26 居住地: 投稿: 16 |
Re: redirect_to について 上記手順で再現する時としない時があり、よくわからないので一旦保留にします。
確実に再現できる手順がわかったら再度報告いたします。 |
umebius |
投稿日時: 2021/1/15 17:22
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: redirect_to について 販売種別Aに配送方法を2つ登録していて
2つの配送方法に共通の支払方法がない場合、配送方法を変更するとformがvalidとはみなされず、redirect_toで止まります。 このパターンでしょうか? これは支払方法を選び直せば動作するので不具合と言えるか微妙なケースですが、あまり親切な設計でないのは確かだと思います。 共通の支払方法がなければ本当は選択肢の一番上の支払方法を選択状態にしてフォームはエラーにしない方が良いと思ってます。 (支払方法が自動で変更になるので、警告のメッセージを表示した上で)
|
kenpocorin |
投稿日時: 2021/1/19 15:09
対応状況: 解決済
|
半人前 登録日: 2020/2/26 居住地: 投稿: 16 |
Re: redirect_to について これだと思います!!!
ありがとうございます。 支払方法を選び直せば確かに動作することはわかったので、バグなのかどうかグレーな感じではありますが原因がわかったのでスッキリしました。 本当にありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |