タイトル通り、管理画面のカスタマイズ方法を紹介。

まず、Safari等でボタンすら表示されないのは、どういうことかと言うと、
ボタンの部分はjavascriptによって、ブラウザを判別し、表示・非表示を決めています。
以下がその部分を制御しているソース

■MTインストールディレクトリ/mt-static/mt_ja.js 197行目あたり

var canFormat = 0;if (document.selection)
canFormat = 1;
var ua = navigator.userAgent;
if (ua.indexOf('Gecko') >= 0 && ua.indexOf('Safari') < 0)
canFormat = 1;

canFormatという変数(フラグ)を作り、初期値を0(false)にしています。
次にdocument.selectionが使えるブラウザには1(true)、
userAgentを判定し、GeckoでかつSafariでない場合も1(true)を代入。
この時点で、ボタンの表示・非表示が決まります。

■MTインストールディレクトリ/tmpl/cms/edit_entry.tmpl 346,370行目あたり

if (canFormat) {
with (document) {
〜省略(ボタン部分のソース)〜
}
}

そして、テンプレートファイル部分にcanFormatが1(true)であれば、
ボタン部分のソースを書くという命令を実行させています。

今回は最新版のSafariに対応させてみます。

まずは、ボタン自体を表示させる為に、SafariでもcanFormが1(true)になるように、下記のソースを追加。場所は上記の該当部分の直後に。

if (ua.indexOf('Safari') > -1 && ua.indexOf('417') > -1)
canFormat = 1;

たったこれだけでボタンが表示されるようになります。
しかし、ボタンが表示されるだけで、肝心のボタン機能はまだ使えません。
続きはまた来週に。