バージョン選択

フォーラム

メニュー

オンライン状況

77 人のユーザが現在オンラインです。 (63 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 77
もっと...

サイト内検索

質問 > フロント機能 > 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のある商品でも投稿できましたので、問題は無いと思いますが、
在庫切れの場合までの検証はしておりませんので、
その点はご確認いただけたらと思います。

あと、管理画面側のモーダル等も検証はしていませんので、
ご了承ください。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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()内にある下記コードを削除すれば良いのではないでしょうか。

            $class_categories[$class_category_id1]['#'] = array(
                'classcategory_id2' => '',
                'name'              => '選択してください',
                'product_class_id'  => '',
            );


試されましたらぜひ動作するかご報告よろしくお願い致します。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

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での商品規格デフォルト値
解決して良かったです。
何か問題起こるようでしたら教えていただけると弊社としても助かります。
ぜひよろしくお願い致します。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

earth012
投稿日時: 2016/10/12 20:35
対応状況: 解決済
半人前
登録日: 2016/10/4
居住地:
投稿: 28
Re: ECCUBE3での商品規格デフォルト値
ありがとうございます! 解決できました。
(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,856名です
総投稿数は109,989件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.