質問 > フロント機能 > ECCUBE3での商品規格デフォルト値 |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
anz |
投稿日時: 2017/5/16 19:19
対応状況: −−−
|
半人前 登録日: 2016/10/12 居住地: 投稿: 16 |
Re: ECCUBE3での商品規格デフォルト値 シロハチさま
原因の解説ありがとうございます。デフォルト状態で動作を確認いたしました。 実働環境では、Product/detail.twigを少し変更してしまっているため、まだカートに入らない状態でが、 何とかなりそうな気がしてきました。 お忙しい中、ご対応いただき本当にありがとうございました。 |
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のある商品でも投稿できましたので、問題は無いと思いますが、 在庫切れの場合までの検証はしておりませんので、 その点はご確認いただけたらと思います。 あと、管理画面側のモーダル等も検証はしていませんので、 ご了承ください。
|
umebius |
投稿日時: 2017/5/15 16:55
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: ECCUBE3での商品規格デフォルト値 すみません、ちょっと本日確認に時間がとれる人間がいないので分かる方おられましたらよろしくお願いいたします。
あとここを修正して管理画面の商品選択モーダルの方は大丈夫かなという不安もあるんですよね。 |
anz |
投稿日時: 2017/5/15 12:24
対応状況: −−−
|
半人前 登録日: 2016/10/12 居住地: 投稿: 16 |
Re: ECCUBE3での商品規格デフォルト値 商品規格1と商品規格2のデフォルト表示変更で、思っていた挙動と違う部分がございました。
お分かりでしたらご教授いただけませんでしょうか。 Form/Type/AddCartTypeの「array('__unselected' => '選択してください') + 」を削除 src/Eccube/Entity/Product.phpのgetClassCategories()内にある下記コードを削除 $class_categories[$class_category_id1]['#'] = array( 'classcategory_id2' => '', 'name' => '選択してください', 'product_class_id' => '', ); 商品規格1と商品規格2が入っている商品に関しては、1行目がデフォルト表示となり、 普通にカートインできます。 商品規格1しかない商品が、詳細画面の表示は1行目がデフォルト表示になっているの ですが、カートに入れることができませんでした。(1行目以外の色に変更すると入る) お手数をお掛け致しますが、よろしくお願いいたします。 |
umebius |
投稿日時: 2017/5/6 21:03
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: ECCUBE3での商品規格デフォルト値 ありがとうございます、ご報告いただきすっきりしました。
|
anz |
投稿日時: 2017/5/6 10:53
対応状況: 解決済
|
半人前 登録日: 2016/10/12 居住地: 投稿: 16 |
Re: ECCUBE3での商品規格デフォルト値 umebiusさま
そのままコメントアウトしたところ、商品規格2でもデフォルトが 変更されました! 本当にありがとうございました。 |
umebius |
投稿日時: 2017/5/6 7:48
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: ECCUBE3での商品規格デフォルト値 検証していませんが、見た感じだと
src/Eccube/Entity/Product.phpのgetClassCategories()内にある下記コードを削除すれば良いのではないでしょうか。
試されましたらぜひ動作するかご報告よろしくお願い致します。
|
anz |
投稿日時: 2017/5/5 19:16
対応状況: −−−
|
半人前 登録日: 2016/10/12 居住地: 投稿: 16 |
Re: ECCUBE3での商品規格デフォルト値 便乗して質問がございます。
商品規格1に加えて、商品規格2の初期値も「選択してください」ではなく、 ひとつ目に作成したものをデフォルト値にする場合もご教授下さい。 例: 選択して下さい 白←ここを初期値に 青 黒 お手数をお掛け致しますが、よろしくお願い致します。 |
umebius |
投稿日時: 2016/10/12 21:10
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: ECCUBE3での商品規格デフォルト値 解決して良かったです。
何か問題起こるようでしたら教えていただけると弊社としても助かります。 ぜひよろしくお願い致します。
|
earth012 |
投稿日時: 2016/10/12 20:35
対応状況: 解決済
|
半人前 登録日: 2016/10/4 居住地: 投稿: 28 |
Re: ECCUBE3での商品規格デフォルト値 ありがとうございます! 解決できました。
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |