質問 > フロント機能 > ログイン前の規格商品がカートにうまく入らない |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
fashionbas |
投稿日時: 2015/7/2 11:30
対応状況: −−−
|
半人前 登録日: 2012/10/24 居住地: 投稿: 26 |
ログイン前の規格商品がカートにうまく入らない [EC-CUBE] 2.11.2
[PHP] PHP 5.3.3 [データベース] MySQL 5.1.69-log ログインをしていない状態の規格商品が正常にカートに入りません。 規格1の商品に関しては選択ができるのですが、規格が1,2,3とあった場合、 3を選択しカートに入れると、カート詳細は1が入ってしまいます。 規格2の商品に関しては、規格1は表示出来ているのですが、規格2が空白になり、 カートが入らない状況です。 ログイン後は正常に規格商品がカートに入ります。 どこかのjavascriptだと考えられますが、 ログインによって挙動しどのtplなのか見当がつきませんので、 ご指南頂きたいと思っております。 |
kitagawa |
投稿日時: 2015/7/3 11:13
対応状況: −−−
|
半人前 登録日: 2015/4/1 居住地: 投稿: 28 |
Re: ログイン前の規格商品がカートにうまく入らない fashionbas 様
その現象が起こるページやカスタマイズの状況などの詳細が不明なためデフォルトの設定で話しますが、 商品個別ページの場合/data/Smarty/templates/default/products/detail.tpl 商品リストページの場合/data/Smarty/templates/default/products/list.tpl にて表示を html/js/products.jsにてスクリプトを記述しています。 まずは<head>タグ内のjavascriptにてclassCategoriesに規格のjsonデータが挿入されていること、products.jsで操作されるフォームのid,name等がそろっていること、規格を変更した場合にid=product_class_idのinputタグのvalueが正しく変更されているのかを確認されるとよいかと思います。 より詳細な状況を記述いただくとより詳細なアドバイスができるかもしれません。
|
fashionbas |
投稿日時: 2015/7/3 13:24
対応状況: −−−
|
半人前 登録日: 2012/10/24 居住地: 投稿: 26 |
Re: ログイン前の規格商品がカートにうまく入らない ご返信ありがとうございます。
その現象が起こる個所は、ログインしていない商品一覧ページと、詳細ページになります。 現象詳細は規格1をかごに入れた時、どれも同じ規格商品が入ってします。(選択肢は表示されます。) 規格2についてはかごに入らず表示もされません。規格1は表示はされます。規格2は白のままです。 list.tpl <script type="text/javascript">//<![CDATA[ function fnSetClassCategories(form, classcat_id2_selected) { var $form = $(form); var product_id = $form.find('input[name=product_id]').val(); var $sele1 = $form.find('select[name=classcategory_id1]'); var $sele2 = $form.find('select[name=classcategory_id2]'); setClassCategories($form, product_id, $sele1, $sele2, classcat_id2_selected); } </script> detail.tpl <script type="text/javascript">//<![CDATA[ // 規格2に選択肢を割り当てる。 function fnSetClassCategories(form, classcat_id2_selected) { var $form = $(form); var product_id = $form.find('input[name=product_id]').val(); var $sele1 = $form.find('select[name=classcategory_id1]'); var $sele2 = $form.find('select[name=classcategory_id2]'); setClassCategories($form, product_id, $sele1, $sele2, classcat_id2_selected); } //]]> </script> となっております。 また<head>のscriptをログイン前、ログイン後と検証したところ、 ログイン後はclassCategoriesに規格のjsonデータが挿入されているようであり、ログイン前はscriptがありませんでした。 よろしくお願いいたします。 |
kitagawa |
投稿日時: 2015/7/3 14:31
対応状況: −−−
|
半人前 登録日: 2015/4/1 居住地: 投稿: 28 |
Re: ログイン前の規格商品がカートにうまく入らない script自体が存在しないのであれば
/data/Smarty/templates/default/site_frame.tpl の <script type="text/javascript">//<![CDATA[ <!--{$tpl_javascript}--> $(function(){ <!--{$tpl_onload}--> }); //]]> </script> がログイン済みの場合のみ表示するif文内になっている可能性があります。
|
fashionbas |
投稿日時: 2015/7/6 18:09
対応状況: −−−
|
半人前 登録日: 2012/10/24 居住地: 投稿: 26 |
Re: ログイン前の規格商品がカートにうまく入らない 確認しましたところ、記述通りif文が見つかりましたので、
修正したところ、ログイン前でも規格商品が正常にかごに入るようになりました。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |