質問 > フロント機能 > ECCUBE3での商品規格デフォルト値 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
468 |
投稿日時: 2017/5/16 15:54
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: ECCUBE3での商品規格デフォルト値 同じようにプログラムを変更して、挙動を確認したところ、
規格を1つだけ指定した商品は、そのままではカート投入できない現象が再現する事を確認しました。 直接の原因は、カート投入に必要な「product_class_id」が空で送信される事のようです。 挙動を確認してみましたが、HTMLの描画時には、規格有り商品は product_class_idは空で出力され、 ページロード時及び規格プルダウン変更時にJavascriptによって値がセットされているようです。 (ブラウザのソースの表示で見ると <input type="hidden" id="product_class_id" name="product_class_id" /> となっており、valueが未設定です) このjavascriptの処理をページロード時に呼び出している所を確認すると、 /src/Eccube/Resource/template/default/Product/detail.twig 39行目付近に 以下のような記述があり、規格2が設定されている時だけ、 Javascriptを呼び出しているようです。 この判定のif文を削除すると、常にJavascriptが呼ばれるようになり、 product_class_idがセットされ、そのままカート投入できるようになりました。 {% if form.classcategory_id2 is defined %} fnSetClassCategories( document.form1, {{ form.classcategory_id2.vars.value|json_encode|raw }} ); {% endif %} ↓ fnSetClassCategories( document.form1, {{ form.classcategory_id2.vars.value|json_encode|raw }} ); 一応、規格なし商品や規格2のある商品でも投稿できましたので、問題は無いと思いますが、 在庫切れの場合までの検証はしておりませんので、 その点はご確認いただけたらと思います。 あと、管理画面側のモーダル等も検証はしていませんので、 ご了承ください。
|
anz |
投稿日時: 2017/5/16 19:19
対応状況: −−−
|
半人前 登録日: 2016/10/12 居住地: 投稿: 16 |
Re: ECCUBE3での商品規格デフォルト値 シロハチさま
原因の解説ありがとうございます。デフォルト状態で動作を確認いたしました。 実働環境では、Product/detail.twigを少し変更してしまっているため、まだカートに入らない状態でが、 何とかなりそうな気がしてきました。 お忙しい中、ご対応いただき本当にありがとうございました。 |
« 1 (2) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |