MTAppjQueryで$.MTAppCustomizeのmoreがshowできない場合は?
結構検索の候補に挙がっているようなので、解決方法を書いておきたいと思います。
問題のほうですが、MovableTypeの管理画面を便利にカスタマイズできる「MTAppJQuery」プラグインの「$.MTAppCustomize」で「user.js」ファイル内で一度「more(続き)」をhideで隠してしまうと、次に show を設定しても表示出来なくなってしまいます。
※バージョンは0.2x を参考にしています。
// hideをやってしまうと、隠されたまま... $.MTAppCustomize({ basename: 'more', show_field: 'hide' }); // show しても表示されない... $.MTAppCustomize({ basename: 'more', show_field: 'show' });
で、これを解決するには、MTAppJQuery.js ファイルの890行目あたりの記述に以下の強調文の処理を追加してください。
// フィールドの表示・非表示 if (opS == 'show') { $field.removeClass('hidden'); if (opB == 'body' || opB == 'more') { $label.closest('div.tab').removeClass('hidden'); } } else if (opS == 'hide' && opB != 'body' && opB != 'more') { $field.addClass('hidden'); } else if (opS == 'hide' && (opB == 'body' || opB == 'more')) { $label.closest('div.tab').addClass('hidden'); }
解説すると「text(本文)」や「more(続き)」が「hide」の場合は $labelに近い div.tab に「hidden」クラスを付加しているのですが、「show」の場合は「hidden」クラスを除去する処理が抜けているようです。
次のバージョンでももしかしたら抜けている可能性があるので、ここの処理を追加するということを覚えておきましょう。
2012-05-28