バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

バグ報告 > 管理機能 > v2.13.1 管理画面:商品選択ポップアップ画面で、規格1だけの商品があると、以降の商品の規格2「選択してください」の表示がでない。

管理機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
sumida
投稿日時: 2014/1/18 14:55
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
v2.13.1 管理画面:商品選択ポップアップ画面で、規格1だけの商品があると、以降の商品の規格2「選択してください」の表示がでない。
こちらの投稿とは、別件の不具合です。
v2.12.5 規格2の初期値「選択してください」が表示されない
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=13380&forum=9


原因:
商品選択ポップアップ画面のonload時、規格1だけの商品に対するfnSetClassCategories実行でエラーとなり、以降の商品の規格2の設定ができない。
規格1だけの場合、form.classcategory_id2が存在しないため、エラーとなる。
(対象となるinput文がname="<!--{$class2}-->"となっている)
そのため、onload時、対象商品のfnSetClassCategoriesが完了できていない。

        sele2 = form.classcategory_id2;


修正案:
data/Smarty/templates/admin/order/product_select.tpl
select文の場合、実行する。

    function fnSetClassCategories(form, classcat_id2_selected) {
        sele1 = form.classcategory_id1;
        sele2 = form.classcategory_id2;
        product_id = form.product_id.value;

        if (sele1) {
/* changed
            if (sele2) {
changed */
            if (sele2 && sele2.type == 'select-one') {
// changed
                // 規格2の選択肢をクリア
                count = sele2.options.length;
                for(i = count; i >= 0; i--) {
                    sele2.options[i] = null;
                }

                // 規格2に選択肢を割り当てる
                classcats = eccube.productsClassCategories[product_id][sele1.value];
                i = 0;
                for (var classcat_id2_key in classcats) {
                    classcategory_id2 = classcats[classcat_id2_key].classcategory_id2;
                    sele2.options[i] = new Option(classcats[classcat_id2_key].name, classcategory_id2);
                    if (classcategory_id2 == classcat_id2_selected) {
                        sele2.options[i].selected = true;
                    }
                    i++;
                }
// added
                fnCheckStock(form);
// added
            }
/* deleted
            fnCheckStock(form);
deleted */
        }
    }

name属性がclasscategory_id2でないため、存在しない。(エラーの直接原因)

                    <!--{else}-->
<!--{* changed
                    <input type="hidden" name="<!--{$class2}-->" id="<!--{$class2}-->" value="" />
changed *}-->
                    <input type="hidden" name="classcategory_id2" id="<!--{$class2}-->" value="" />
<!--{* changed *}-->
                    <!--{/if}-->


追記:
Javascriptで、if (sele1) {、if (sele2) {は、意味がなかったということでしょうね。

再追記:
再現方法は、デモデータを用いて
(1) おなべに規格1を設定
(2) アイスクリームを複製(アイスクリーム2:規格1・規格2あり)
(3) 管理画面:受注登録で「商品の追加」をクリック
(4) 商品選択のアイスクリーム2の規格2が空
おなべ(規格1だけ)で、fnSetClassCategoriesがエラーになる。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » v2.13.1 管理画面:商品選択ポップアップ画面で、規格1だけの商品があると、以降の商品の規格2「選択してください」の表示がでない。 sumida 2014/1/18 14:55
     Re: v2.13.1 管理画面:商品選択ポップアップ画面で、規格1だけの商品があると、以降の商品の規格2「選択してください」の表示がでない。 habu 2014/1/21 19:30
       Re: v2.13.1 管理画面:商品選択ポップアップ画面で、規格1だけの商品があると、以降の商品の規格2「選択してください」の表示がでない。 sumida 2014/3/21 16:41
     Re: v2.13.1 管理画面:商品選択ポップアップ画面で、規格1だけの商品があると、以降の商品の規格2「選択してください」の表示がでない。 pineray 2014/5/27 13:34

 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.