テーマエディタでプリセットの保存ができない
# 確認環境:
利用バージョン: CS-Cart v4.0.3-jp-1
# 現象
js/tygh/ajax.jsの不備により、プリセットの保存ができません。
# 原因
js/tygh/ajax.js 56行目、168行目に存在するactiveQueriesのチェック式が間違っているため、リクエストが発行できずプリセットの変更を保存することができません。
修正パッチを以下に示します。
https://gist.github.com/nojimage/39d6bb82b9b4390836c3
利用バージョン: CS-Cart v4.0.3-jp-1
# 現象
js/tygh/ajax.jsの不備により、プリセットの保存ができません。
# 原因
js/tygh/ajax.js 56行目、168行目に存在するactiveQueriesのチェック式が間違っているため、リクエストが発行できずプリセットの変更を保存することができません。
修正パッチを以下に示します。
https://gist.github.com/nojimage/39d6bb82b9b4390836c3
コメントを投稿するにはログインするかメンバー登録してください
コメント
こちらのバグについては2月24日に
http://tips.cs-cart.jp/fix-switch-preset-bug.html
にて修正方法を掲載しております。
お手数ですがご確認いただけますと幸いです。
上記修正を行っても「保存」の操作はできなかったのですが。
現象としては、リクエスト時にactiveQueriesがインクリメントされ1にセットされるのですが、
上記評価式でactiveQueries >= QUERIES_LIMIT となっているためリミットに引っ掛かりリクエストが送られていません。
ご確認頂ければ幸いです。
ちょっと気になったので調べてみました。
評価式の変更の有無での挙動の違いが確認できませんでした。
(ブラウザ上での動きの目視だけなので気づいていないだけかもしれませんが。。)
で、下記のフィックス内容に関してです。
http://tips.cs-cart.jp/fix-switch-preset-bug.html
プリセットが保存できなかった理由は「stickyFooter()」が定義されていないためにエラーを吐きAjaxが実行されていないからだと理解しています。
そのため該当箇所を削除する対応が提示されていたのでしょう。
こちらの開発環境ではnojimage様の対応のみの場合では当初同様プリセット保存もプリセットの再選択もできませんでした。
環境依存なんでしょうか。。ちょっと気になります。
こちらの環境はMac上のMAMP PROで下記の構成です。
Apache HTTP Server 2.2.26
MySQL 5.5.34
PHP 5.4.26
ちなみに、最新のv4.1.4-jp-1では評価式はそのままで「stickyFooter()」が定義されているようです。
(軽く動かして確認中ですがプリセット保存は正しく動作していると思われます)
こちらも新規環境でインストールから再度試してみたところ、stickyFooterの修正のみでプリセット保存が可能なこと確認しました。
stickyFooterの修正より前にajax.jsの修正を入れており、ajax.jsの修正戻し→stickyFooter修正を行っても保存できなかったので、ajax.js側の問題かと思っていたんですが勘違いだったようですね。お騒がせしました。