質問 > フロント機能 > 商品詳細ページのカートに入れるボタンについて |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
shinopiero |
投稿日時: 2016/6/22 1:00
対応状況: 開発中
|
新米 登録日: 2016/6/22 居住地: 投稿: 2 |
商品詳細ページのカートに入れるボタンについて 初心者のshinopieroと申します。
商品詳細ページにラジオボタンを実装し、ラジオボタンの選択により、デフォルトの規格1、規格2のプルダウンを動的に選択させるようにしたところ、カートに入れるボタンをクリックしてもショッピングカートに遷移できません。 もう一度カートに入れるボタンをクリックするとショッピングカートに遷移します。 detail.twigを以下の様に修正しています。 ■ラジオボタンのクリックイベント ※cate1id、cate2idはfunctionの引数です。 $('select[name="classcategory_id1"]').val(cate1id); $(function(){ $("select[name=classcategory_id1]").change() }); $('select[name="classcategory_id2"]').val(cate2id); $(function(){ $("select[name=classcategory_id2]").change() }); 宜しくお願い致します。 |
nyorai |
投稿日時: 2016/6/22 9:48
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: 商品詳細ページのカートに入れるボタンについて カートに投入する処理はProductControllerの以下の箇所で行われています。
https://github.com/EC-CUBE/ec-cube/blob/master/src/Eccube/Controller/ProductController.php#L270 ここのロジックに到達しているか、dump関数など使用して処理を追いかけてみれば原因わかるかもしれません。 |
DELIGHT |
投稿日時: 2016/6/22 10:33
対応状況: −−−
|
仙人 登録日: 2010/2/3 居住地: 熊本県・九州・長野県・関東甲信越 投稿: 572 |
Re: 商品詳細ページのカートに入れるボタンについて 恐らくここを通っていないため最初の操作ではバリデーションに失敗し、
その後の画面読み込み時にここを通ることでバリデーションが成功しているのだと思います。 https://github.com/EC-CUBE/ec-cube/blob/3.0.10/html/template/default/js/eccube.js#L558 https://github.com/EC-CUBE/ec-cube/blob/3.0.10/html/template/default/js/eccube.js#L572 https://github.com/EC-CUBE/ec-cube/blob/3.0.10/html/template/default/js/eccube.js#L457 https://github.com/EC-CUBE/ec-cube/blob/3.0.10/html/template/default/js/eccube.js#L535
|
DELIGHT |
投稿日時: 2016/6/22 22:18
対応状況: −−−
|
仙人 登録日: 2010/2/3 居住地: 熊本県・九州・長野県・関東甲信越 投稿: 572 |
Re: 商品詳細ページのカートに入れるボタンについて javascriptを読み返したのですが、セレクトボックスのchangeイベントを発生させる(させたい)箇所で
readyイベントを使用しているのが原因ではないでしょうか。
|
shinopiero |
投稿日時: 2016/6/23 22:04
対応状況: 解決済
|
新米 登録日: 2016/6/22 居住地: 投稿: 2 |
Re: 商品詳細ページのカートに入れるボタンについて 解決しました。
<fomr id="form1">〜</form>の中にラジオボタンを配置すると カートに入れるボタンをクリックしても、再度商品詳細ページが表示されるようです。 nyorai様、DELIGHT様、 お力を貸して頂きまして、 有難う御座いました。 大変勉強になりました。 ※投稿時にラジオボタンのクリックイベントを記載しましたが、 以下の様に変えました。 (原因ではありませんでしたが、、、) $('input[name="rdoCateTable"]:radio').change(function() { var $sele1 = $('select[name=classcategory_id1]'); var $sele2 = $('select[name=classcategory_id2]'); $sele1.val(valcate1id); fnSetClassCategories(document.form1, valcate2id); $sele2.val(valcate2id); }); |
DELIGHT |
投稿日時: 2016/6/23 23:39
対応状況: −−−
|
仙人 登録日: 2010/2/3 居住地: 熊本県・九州・長野県・関東甲信越 投稿: 572 |
Re: 商品詳細ページのカートに入れるボタンについて この辺りっぽい気がします。解決済みとのことですが参考までに。
http://symfony.com/doc/current/reference/forms/types/form.html#allow-extra-fields
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |