質問 > フロント機能 > 配送方法の選択について |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mackarel |
投稿日時: 2019/1/8 12:21
対応状況: −−−
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
Re: 配送方法の選択について 表示されました!!
気づかずここを追記していたみたいです・・・。 ただ見た目が想定と違ったので、恐らくそれを調整するために追記したのかと思われます・・・。 ありがとうございます! |
468 |
投稿日時: 2019/1/8 12:15
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送方法の選択について 'freeze' => true
を外すとどうなりますか?
|
mackarel |
投稿日時: 2019/1/8 12:00
対応状況: −−−
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
Re: 配送方法の選択について ありがとうございます。
↓↓そうですね、こんな感じになっております。 ->add('delivery', 'entity', array( 'class' => 'Eccube\Entity\Delivery', 'property' => 'name', 'choices' => $deliveries, 'data' => $delivery, 'constraints' => array( new Assert\NotBlank(), ), 'expanded' => true, 'freeze' => true )) ちょっと変更履歴出すのが時間かかるので取り急ぎ。。。 ほかは触ってなかったかと思われます。 |
468 |
投稿日時: 2019/1/8 11:57
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送方法の選択について お役に立てず、申し訳ないです。
最後に1点だけ、 >プルダウンからラジオボタンに変更してます。ただjsは使わず、Type等システム側で変更していますのでこちらも原因からは外れそうですね・・・。 ShippingItemType.phpに手を加えられていますか? 多分、'expanded' => true,を書き加えらたくらいかと思いますが、 'choices' => $deliveries, が 'choices' => $delivery, に変わっていたりはしないでしょうか? また、何か分かりましたら、投稿いただけますと幸いです。
|
mackarel |
投稿日時: 2019/1/8 11:45
対応状況: −−−
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
Re: 配送方法の選択について 引用:
ブラウザのソースの表示で該当箇所(<select>タグ)の周辺を確認すると、 なかったですね。。。 引用: 過去にプルダウンの見た目を独自デザインにする為にformタグをdivタグに置換するjsライブラリを利用して、 なるほど・・・、そういう意味で言えば見た目はプルダウンからラジオボタンに変更してます。ただjsは使わず、Type等システム側で変更していますのでこちらも原因からは外れそうですね・・・。 引用: 実際にデバッグしながら確認するくらいしか方法が思い浮かばないです... 承知いたしました。 色々とありがとうございました! 再度こちらで検証致します。また動きあれば投稿致します。 |
468 |
投稿日時: 2019/1/8 9:52
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 配送方法の選択について 配送先の配列で最初のキーを指定しているだけなので、
その記述は問題無いのではないかと思うのですが...。 ブラウザのソースの表示で該当箇所(<select>タグ)の周辺を確認すると、 <option></option>タグは2つ出力されているという事はないでしょうか? 可能性は低いと思いますが、 過去にプルダウンの見た目を独自デザインにする為にformタグをdivタグに置換するjsライブラリを利用して、 それが原因でプルダウンの選択肢が正常に表示されないという事がありました。 これ以上は思い当たるところが無い為、 実際にデバッグしながら確認するくらいしか方法が思い浮かばないです...
|
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) }} として該当のテンプレートに組み込んでいるのですが、ここが影響しているとかでしょうか? |
mackarel |
投稿日時: 2019/1/7 17:34
対応状況: −−−
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
Re: 配送方法の選択について 引用:
この時点では、ShippingItemType.phpの$deliveriesには2つ配送方法がセットされていたとお聞きしたと認識しております。 なるほど、ありがとうございます。 それであればこの後に配送方法を一つにするような処理は入れてないですね。。。 |
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 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から持ってきたのですが、もしかして誤った処理だったのでしょうか・・・? |
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |