ManagerManagerのエラー?

質問全般・改善要望
返信する
yasu
メンバー
メンバー
記事: 103
登録日時: 2009年9月09日(水) 17:54

ManagerManagerのエラー?

投稿記事 by yasu »

お世話になります。
ManagerManagerにて、管理者以外の「使用テンプレート」ドロップダウンリストから指定したテンプレートを隠そうと設定したのですが、
Firefox以外のブラウザだと設定が反映されずに、テンプレートがドロップダウンに表示されてしまいます。
FireFoxだと問題なく隠れていますし、管理者でログインしても全部表示されています。

これはエラーなのでしょうか?
それとも記述や、何かの設定が間違っているのでしょうか?

コード: 全て選択

mm_hideTemplates('5,6,7,8,9,12', '!1', ''); 
mm_hideTemplates('5,6,7,8,9,10,11', '!1', '12'); 
よろしくお願いします。


[modx] バージョン:1.0.4J
[サーバ]
 ホスト:チカッパ
 ネットワーク:インターネット
 PHPバージョン:5.2.6
 DB:5.0.51

[確認ブラウザ]
Firefox:3.6.8
IE:8 (IETesterにて6.7.9を確認)
Opera:10.10
GoogleChrome:5.0.375.126
Safari:4.0.4

[OS]
windowsXP 
sama55
メンバー
メンバー
記事: 816
登録日時: 2009年8月03日(月) 08:16

Re: ManagerManagerのエラー?

投稿記事 by sama55 »

バグのような気がします(厳密には、ある障害を回避するために別の障害を誘発してる感じ)。
assets/plugins/managermanager/functions/templates.inc.php の下の行を変更("hide"→"remove")すると、逃げられるかもしれません。

修正前: $output .= '$j("select#template option[value='.$tpl.']").hide();' . "\n";
修正後: $output .= '$j("select#template option[value='.$tpl.']").remove();' . "\n";

ただ、以前はremoveだったものをhideに直してるので、上記の変更は弊害があるかもしれません(例えば、消した後に同項目を操作するようなル-ルを指定した場合)。事実、上記のように変更した場合、mm_moveFieldsToTab()でテンプレートのプルダウンを他のタブに移動すると、今度はFFですべての候補が表示されなくなるようです。テンプレートのプルダウンを移動しなければ問題ないようですが・・・(ちょっと自信なし)。

上記でうまくいっても、くれぐれもテストを十分に行うようにして下さい。

※ブラウザごとのDOMの構造やjQueryの細かい仕様はよく知りませんが、jQuery・・・この辺微妙なのかも。
yasu
メンバー
メンバー
記事: 103
登録日時: 2009年9月09日(水) 17:54

Re: ManagerManagerのエラー?

投稿記事 by yasu »

返信が遅くなり申し訳ございません。

sama55さん、ありがとうございます。
hide → remove に変えてるとプルダウンは解決しました。

sama55さんが指摘されている問題点は、様子をみていこうと思います。
これに関するエラーがでたら、ご報告いたします。

ありがとうございました。
返信する