ECCUBE2.13.3で商品規格の在庫数が無制限から変更できないバグがある
2016/04/04
ECCUBE2.13.3では商品規格の在庫数の変更ができない
商品規格管理のテンプレートを修正
■修正対象ファイル
{eccube}/data/smarty/templates/admin/products/product_class.tpl
■対象行
30行目、42行目
■修正内容
|
1 2 3 |
誤り:var checked = $(this).attr('checked'); 正解:var checked = $("#chk_stock_unlimited_"+index+":checked").val(); |
30行目も 42行目も記述内容は同じですので、同じように修正を行います。
商品規格の在庫数の変更ができないバグはECCUBE2.13.3だけ
商品規格の在庫数が変更できない ECCUBEのバグは、バージョン 2.13.3だけに存在するようです。
バグの内容ですが、「商品管理」の一覧から「商品規格」を編集する「商品管理>商品登録(商品規格)」の画面で発生します。
上記の画面のように、「在庫数」を編集するために「無制限」のチェックを外しても「在庫数」の入力エリアがアクティブにならないという不具合です。
「在庫数」の入力エリアがアクティブにならないため、「在庫数」の入力ができません。常に「無制限」でしか運用できません。
ただし、「商品規格」の機能を使わない商品を「商品登録」画面から登録する場合の「在庫数」は問題なく変更することができます。
これは、先に挙げたテンプレートファイル「product_class.tpl」に直接記述してある JavaScriptの記述が間違っているために発生しています。
「2.13.1」→「2.13.3」では、「product_class.tpl」自体に差異はありません。(※2.13.2 は、ソースが手元にないため確認していません。)
「2.13.3」→「2.13.4」では、先に解説をした内容が更新されています。
そのため、「2.13.1」→「2.13.3」では、何かしら修正された影響でこの「商品規格」の「在庫数」の変更の部分が影響を受け、「2.13.4」ではそのバグフィックスのために変更が行われた、というところなのでしょう。
※まったく確認はしていませんが、ECCUBE 2.13.3前後で使用している jQueryのバージョンが 2系に変更になったことが影響しているとのことのようです。
ECCUBEの「2.13.3」というバージョンだけという固有のバグですが、WordPressの様に簡単にバージョンアップができるわけではありませんので、いざ使い始めてから気づいても修正の仕様がない場合も多いですよね。
しかも、全然情報がありませんし...
そんなわけで、この記事が ECCUBEの 2.13.3を使っている方のお役にたてれば幸いです。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
GMOペイメントゲートウェイのjava.io.IOExceptionのエラー
ECCUBEの決済でGMOペイメントゲートウェイのモジュールを使ってテスト決済を行った場合の不具合、java.io.IOExceptionと言うエラーの原因と対策方法の解説です。
-
-
Smartyのテンプレート内の処理で計算、加工をする方法
Smartyのテンプレート上で変数を計算する、加工する方法を解説します。
-
-
PHPで1ヵ月前、先月、今月1日、来月末の日付などの算出はDateTimeImmutableを使う
PHPには日時をオブジェクトとして生成する関数「DateTimeImmutable」「DateTime」が用意されている。これを利用して1ヶ月後、月初日、月末日、5日後などを指定して日付を取得できる。
-
-
PHPパーミッション変更のchmod関数・モードを変数で指定する方法
パーミッション変更関数であるchmod関数の第二引数、ファイルモードの指定に変数を使う場合は8進数に変換するoctdec関数を使って変換します。
-
-
PHP画面が真っ白 header(“Location: $url”);
PHPの開発で header(“Location: $url”);を使うと画面が真っ白になる不具合が出る場合もあります。
-
-
include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由
include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。
-
-
ECCUBEの管理画面のSSL設定をインストール後に変更する方法
ECCUBEをインストールした後から管理画面のSSL設定を変更する方法を解説します。config.phpファイルのHTTPS_URLとADMIN_FORCE_SSLの値を変更すればOK。
-
-
PHPで正規表現の検証には preg_match_allが便利
PHPで正規表現の検証には preg_match_allが便利です。その便利さの使い方の解説です。
-
-
数値がMySQLのint(11)に保存できない!PHPの変数が本当にint型か確認!
PHPでintegerとdoubleが混在するような計算をする場合は要注意!計算結果が整数値であっても途中で使用する変数にdoubleの値が入っているときは計算結果がintegerではない場合があります。
-
-
PHPで配列の値をダブルクオーテーションで囲んでimplodeでカンマ区切りにする方法
PHPで配列の値を、preg_replace関数でクォーテーションで囲み、implode関数で「,(カンマ)」で区切ってテキスト化する方法。この方法であれば配列が空でも分岐の処理は必要なし!
