最新のChromeで「使用テンプレート」の選択肢が出ない問題

質問全般・改善要望
kazuike
メンバー
メンバー
記事: 480
登録日時: 2009年8月12日(水) 12:53

最新のChromeで「使用テンプレート」の選択肢が出ない問題

投稿記事by kazuike » 2014年10月17日(金) 15:34

-----
MODXのバージョン:1.0.4J-r4(←ちょっと古いバージョン)
ブラウザ:Chrome Ver38~
-----
おそらく一昨日(2014/10/15)あたりだと思いますが、
Chromeが37から38にバージョンアップして、
少し古いMODXのリソース作成・編集画面の
「使用テンプレート」欄のプルダウンで、出るはずの選択肢が出ない。
という不具合が起こるようになりましたので、
そのあたりご報告します。

どうも、
ManagerManagerの「mm_hideTemplates」が不要なテンプレートを隠す処理のうち、
<optgroup>に対する処理のJavaScript(jQuery)の箇所が、
新しいChromeでは不具合を起こすようです。

最近のMODXではこの現象は起こりませんでしたので、
新しいものを参考にして、該当箇所を以下のように修正することで、
上記不具合を解消することができました。
(そんなことせず、MODXをバージョンアップすれば済む話だとは思いますが…)

assets/plugins/managermanager/mm.inc.php
393行目~399行目あたり

コード: 全て選択

      $j("#template optgroup").each( function() {
         var $this = $j(this);
         var $visibleOptions = $this.find("option:visible");
         if ($visibleOptions.length == 0 && jQuery.browser.opera !== true) {
            $this.hide();   
         }
      });
↓以下のように修正

コード: 全て選択

      $j("#template optgroup").each( function(){
         var $this = $j(this),
         visibleOptions = 0;
         $this.find("option").each( function() {
            if ($j(this).css("display") != "none")    visibleOptions++ ;
         });
         if (visibleOptions == 0) $this.hide();
      });


おそらく、
1.0.4J-r4までのMODXでは同様の不具合が起こり、
1.0.4J-r5以降のMODXではこの不具合は起こらないかと思われます。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/