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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
XML形式の値を配列形式に変換・PHPでは simplexml_load_string()
XMLとは「Extensible Markup Language」の略でテキストベースのデータフォーマット。XMLをPHPで配列に変換するWebツールの紹介とその処理「simplexml_load_string()」関数についての解説。
-
-
PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較
PHPからWebサイトにアクセスしてHTMLを取得、APIにアクセスして情報を取得する場合は、cURLがオススメ。file_get_contentsでも可能だがエラー制御に難がありトラブルのもとになる。
-
-
指定した数で文字列を丸める(n文字目で…にする)関数substr、mb_substr、mb_strimwidthの違い
文字列を指定された数で抜き出すPHPの関数、substr、mb_substr、mb_strimwidthについての解説。似た関数だが引数の指定方法が違ったり、文字数がバイト数か文字数かも違ったり、注意が必要だ。
-
-
sleepの秒指定は整数のみなので1.5秒はsleep、usleepを組み合わせる
PHPのプログラム処理を遅延させる「sleep()」は整数秒単位。「usleep()」は1秒未満のマイクロ秒単位。では「1.5」秒はどう表現するのか。「sleep()」「usleep()」を組み合わせる。その解説。
-
-
PHPで月末から1ヶ月後「+1 month」を算出すると想定する日付にならない場合がある
PHPでは月末の1ヶ月後が想定した日付にならない場合がある。原因はバグではなくPHPの1ヶ月後の定義によるもの。なので必要とする日付を定義しそれに合わせてDateTime、modifyを使用して算出方法を解説している。
-
-
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。
-
-
ECCUBEの問い合わせフォームに任意の値を引数として渡す方法
ECCUBEのお問い合わせフォームに値を固有の情報を送りそれに基づいて処理をする方法を解説。ボタンの設置、受け取り側のテンプレート、プログラムのサンプルソースを提供。
-
-
路線・駅検索をPHPで実装する方法解説。GoogleMapsの緯度経度から計算し検索
路線・駅検索の仕組みの構築は大変。登録する側も最寄り駅が多い場合は大変。なので簡易に実装するため緯度経度に基づき直線距離を計算する処理を考案して実装して、その処理を解説。
-
-
サーバ移転、PHPバージョンアップでPHPのソースコードが表示される・ショートタグのPHPが動かない
PHPでショートタグを使うのは危険。サーバ移転やバージョンアップで動かなくなる!ソースが丸見え、設定情報流出のリスクが!php.iniのshort_open_tagの設定を再確認。
-
-
include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由
include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。
