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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
ECCUBEのポイント設定、ポイント付与率を一括で変更する方法解説
ECCUBEの商品個別に設定してあるポイントを一括で変更する方法を解説。ECCUBEには商品個別のポイントを一括して変更する機能がありません。SQLを作成して一括置換!
-
-
CentOS6、7のPHPを5.3から5.6、7.0、7.1にバージョンアップする手順の解説
CentOS6系、7系のPHPバージョンを5.3から5.6、7.0、7.1にアップする作業手順と解説。yum updateコマンドを使い作業時間は約10分。コマンドの解説や引数の意味なども解説しているので役に立つはず。
-
-
PHPで配列の値をダブルクオーテーションで囲んでimplodeでカンマ区切りにする方法
PHPで配列の値を、preg_replace関数でクォーテーションで囲み、implode関数で「,(カンマ)」で区切ってテキスト化する方法。この方法であれば配列が空でも分岐の処理は必要なし!
-
-
ECCUBEの商品一覧ページのSEO対策!rel=”next” rel=”prev”を設定
Googleは関連あるページはその旨明示するよう求めています。ECCUBEの商品一覧ページでその求めに応じるための「rel=”next”」「rel=”prev”」について解説します。
-
-
include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由
include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。
-
-
ECCUBEを開発環境から本番ドメインに変更でエラーが・パス変更について
レンタルサーバでサーバ会社から割り当てられたURLで開発し、本番公開時にドメインを当てたらエラーが!そんな場合の対処方法の解説。対処方法は簡単ですが管理画面からは対応不可。
-
-
ECCUBEの新規追加ページがInternal Server Error・Not Foundに
ECCUBEで新規追加したページがInternal Server Errorに!原因はファイルのパーミッションの場合が多くその対処方法とプログラムの修正ポイントを解説。Not Foundも解説。
-
-
GMOペイメントゲートウェイのjava.io.IOExceptionのエラー
ECCUBEの決済でGMOペイメントゲートウェイのモジュールを使ってテスト決済を行った場合の不具合、java.io.IOExceptionと言うエラーの原因と対策方法の解説です。
-
-
PHPパーミッション変更のchmod関数・モードを変数で指定する方法
パーミッション変更関数であるchmod関数の第二引数、ファイルモードの指定に変数を使う場合は8進数に変換するoctdec関数を使って変換します。
-
-
連想配列のキーも値もまとめてhtmlspecialchars()でサニタイズする関数の作成解説
PHPの配列・連想配列のキーと値をまとめてhtmlspecialchars()関数でサニタイズ(無害化、無毒化)を行う関数を作成。連想配列のキーはarray_map()関数でのサニタイズは無理。
