質問 > フロント機能 > 配送方法の選択について |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mackarel |
投稿日時: 2018/12/28 12:44
対応状況: 開発中
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
配送方法の選択について 管理画面の配送方法設定で、複数ある全ての配送方法に同じ商品種別を紐づけ、カートにもその商品種別の商品を入れたのですが、 購入時、配送方法の選択に登録されている複数の選択肢を表示させたいのですが、どうすればいいでしょうか?? 今は配送方法が1つしか表示されないのですが、こういう事はありえるのでしょうか・・・?またなぜこうなるのでしょうか・・・? ▼テンプレート [EC-CUBE] 3.0.16、新規インストール [レンタルサーバ] AWS EC2 [OS] OSX Marveriks [PHP] 7.1 [データベース] MySQL 5.6 [WEBサーバ] Apache 2.4 [ブラウザ] Chrome [導入プラグインの有無] レビュー、ポイント、クーポン、決済、ネクストエンジン連携 [カスタマイズの有無] あり |
468 |
投稿日時: 2018/12/29 9:16
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送方法の選択について デフォルトのECCUBEでは商品種別に紐づけられた配送方法すべてが選択できる状態になるかと思います。
何かカスタマイズの影響が出ているという事はないでしょうか? 表示される配送方法が1つという事ですが、 並び順の1つ目にある配送方法が表示される、 または必ず決まった配送方法のみ表示される等、何かしらの法則はありますか?
|
mackarel |
投稿日時: 2018/12/29 16:26
対応状況: −−−
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
Re: 配送方法の選択について ありがとうございます。
なるほど、やはり全て出るのが正解なのですね。。。 引用: 何かカスタマイズの影響が出ているという事はないでしょうか? そうですね、出ているのかもですがそれが判断できず。。。 カスタマイズの内容としては、通常3系はデフォだとカートの後にすぐ購入確認画面に遷移すると思いますが、その遷移を、 1.カート 2.届け先選択 3.支払いや配送方法選択(ここでこの件の現象が発生) 4.購入確認画面 としています。3での配送方法選択機能は、デフォルトの購入確認画面にあるものを持ってきています。 ↓デモサイトでいうとここの部分ですね。 http://prntscr.com/m0wm0u ただ、今回の場合複数配送に対応しないので、forで繰り返している箇所は配列のキーにゼロを指定して強制的に対処しています。←伝わりますかね・・・?(苦笑) 引用: 並び順の1つ目にある配送方法が表示される、 改めて確認していて気づいたのですが、特定の配送方法(以降、配送Aとします)しか表示されないようです。配送Aの商品種別を変更すると、選択欄すら表示されなくなります。もう一つの配送方法(以降、配送Bとします)は商品種別が同じなのにもかかわらず、並び順を変えても表示されていない状態です。 なにかわかりますでしょうか・・・? |
468 |
投稿日時: 2018/12/30 10:33
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送方法の選択について デフォルトの場合、
/src/Eccube/Form/Type/ShippingItemType.php 64行目で $deliveriesに配列で配送方法を設定しています。 その配列が選択肢にセットされると思うのですが、 この辺りの処理はどうなっていますか?
|
mackarel |
投稿日時: 2019/1/4 0:12
対応状況: −−−
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
Re: 配送方法の選択について 引用:
確認しました。 ここには登録されている2つの配送が入っていました。 |
468 |
投稿日時: 2019/1/6 13:28
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送方法の選択について と、いうことは追加されたページ用のアクション(コントローラーのメソッド)内か、
Twig側で何か配列を書き換えている可能性はありませんか? (もしかしたら、javascriptで<option>タグを再構築している可能性もあるかもしれません?) 追加されたページ用のアクション(コントローラーのメソッド)は、 どのような記述をされているのでしょうか?
|
mackarel |
投稿日時: 2019/1/7 12:08
対応状況: −−−
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
Re: 配送方法の選択について ありがとうございます。
引用: 追加されたページ用のアクション(コントローラーのメソッド)内か、Twig側で何か配列を書き換えている可能性はありませんか? 確認しましたが、書き換える処理はしていないようでした。 引用: (もしかしたら、javascriptで<option>タグを再構築している可能性もあるかもしれません?) こちらもしてなかったですね。 ただ、この追加したページで出力している配送方法は、教えていただいたShippingItemTypeのdeliveryではなく、コントローラー側で 引用: $app['eccube.service.shopping']->getShippingFormBuilder($Order); で出力されているshippingsの内容になっております。(デフォだとShoppingService.phpの1060行目辺り?) 上記含め、配送方法の選択欄に係る機能や表示方法はShopping::indexとかshopping/index.twigから持ってきたのですが、もしかして誤った処理だったのでしょうか・・・? |
468 |
投稿日時: 2019/1/7 12:29
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送方法の選択について 処理の記述については特に問題は無いと思います。
$app['eccube.service.shopping']->getShippingFormBuilder($Order);は、 /src/Eccube/Service/ShoppingService.phpのfunction getShippingFormBuilder()を呼び出していますが、 そのgetShippingFormBuilder()の中で、
の記述があり、そこでShippingItemType.phpに基づいてformが生成されていると思います。 この時点では、ShippingItemType.phpの$deliveriesには2つ配送方法がセットされていたとお聞きしたと認識しております。 その為、この後の処理で配送方法が1つに変更されているのかな?と思い、 twigやjavascriptを確認させていただきました。
|
mackarel |
投稿日時: 2019/1/7 17:34
対応状況: −−−
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
Re: 配送方法の選択について 引用:
この時点では、ShippingItemType.phpの$deliveriesには2つ配送方法がセットされていたとお聞きしたと認識しております。 なるほど、ありがとうございます。 それであればこの後に配送方法を一つにするような処理は入れてないですね。。。 |
mackarel |
投稿日時: 2019/1/7 18:29
対応状況: −−−
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
Re: 配送方法の選択について 1点、デフォルトではshop/index.twigの274行目で
{{ form_widget(form.shippings[idx].delivery, {'attr': {'class': 'delivery'}}) }} を {{ form_widget(form.shippings[0].delivery) }} として該当のテンプレートに組み込んでいるのですが、ここが影響しているとかでしょうか? |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |