バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 配送方法の選択について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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つ目にある配送方法が表示される、
または必ず決まった配送方法のみ表示される等、何かしらの法則はありますか?


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

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に配列で配送方法を設定しています。

その配列が選択肢にセットされると思うのですが、
この辺りの処理はどうなっていますか?


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

mackarel
投稿日時: 2019/1/4 0:12
対応状況: −−−
半人前
登録日: 2018/11/2
居住地:
投稿: 24
Re: 配送方法の選択について
引用:

デフォルトの場合、
/src/Eccube/Form/Type/ShippingItemType.php 64行目で
$deliveriesに配列で配送方法を設定しています。

その配列が選択肢にセットされると思うのですが、
この辺りの処理はどうなっていますか?


確認しました。
ここには登録されている2つの配送が入っていました。
468
投稿日時: 2019/1/6 13:28
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 配送方法の選択について
と、いうことは追加されたページ用のアクション(コントローラーのメソッド)内か、
Twig側で何か配列を書き換えている可能性はありませんか?
(もしかしたら、javascriptで<option>タグを再構築している可能性もあるかもしれません?)

追加されたページ用のアクション(コントローラーのメソッド)は、
どのような記述をされているのでしょうか?


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

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()の中で、
$builder
->add('shippings', 'collection', array(
    'type' => 'shipping_item',
    'data' => $Order->getShippings(),
));

の記述があり、そこでShippingItemType.phpに基づいてformが生成されていると思います。

この時点では、ShippingItemType.phpの$deliveriesには2つ配送方法がセットされていたとお聞きしたと認識しております。

その為、この後の処理で配送方法が1つに変更されているのかな?と思い、
twigやjavascriptを確認させていただきました。


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

mackarel
投稿日時: 2019/1/7 17:34
対応状況: −−−
半人前
登録日: 2018/11/2
居住地:
投稿: 24
Re: 配送方法の選択について
引用:
この時点では、ShippingItemType.phpの$deliveriesには2つ配送方法がセットされていたとお聞きしたと認識しております。

その為、この後の処理で配送方法が1つに変更されているのかな?と思い、
twigやjavascriptを確認させていただきました。


なるほど、ありがとうございます。
それであればこの後に配送方法を一つにするような処理は入れてないですね。。。
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 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.