Movable Type2.661の時、ファイルをいじくって新しいエントリーを作成する画面に<とか>とか&をdecodeするボタンを入れていました。3.01D-jaにして当然のように無くなったので再度いじくり。。。
参考にさせて頂いた(そっくりそのまま真似ですが^^;)のはPC Blog @ Noel Cafe様の記事です。ありがとうございました。
以下、一応作業メモ
いじくったのはMTPath/tmpl/cms/edit_entry.tmplと、MTPath/mt.jsの2つ
edit_entry.tmplの171行目あたりの以下の部分を探して、
write(‘<div style="float: right;">’);
write(‘<a title="<MT_TRANS phrase="Bold">" href="#" onclick="return formatStr(document.entry_form.text, \’strong\’)"><img src="<TMPL_VAR NAME=STATIC_URI>images/bold-button.gif" alt="<MT_TRANS phrase="Bold">" width="24" height="18" border="0" /></a>’);
write(‘<a title="<MT_TRANS phrase="Italic">" href="#" onclick="return formatStr(document.entry_form.text, \’em\’)"><img src="<TMPL_VAR NAME=STATIC_URI>images/italic-button.gif" alt="<MT_TRANS phrase="Italic">" width="24" height="18" border="0" /></a>’);
write(‘<a title="<MT_TRANS phrase="Underline">" href="#" onclick="return formatStr(document.entry_form.text, \’u\’)"><img src="<TMPL_VAR NAME=STATIC_URI>images/underline-button.gif" alt="<MT_TRANS phrase="Underline">" width="24" height="18" border="0" /></a>’);
write(‘<a title="<MT_TRANS phrase="Insert Link">" href="#" onclick="return insertLink(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/url-button.gif" alt="<MT_TRANS phrase="Insert Link">" width="26" height="18" border="0" /></a>’);
この次の行あたりに、以下を挿入。
write(‘<a title="<MT_TRANS phrase="Decode">" href="#" onclick="return Decode(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/decode-button.gif" alt="<MT_TRANS phrase="Decode">" width="26" height="18" border="0" /></a>’);
次にmt.jsに以下を追加。
function Decode(e) {
if (!canFormat) return;
var str = getSelection(e);
if (!str) return;
str = str.replace(new RegExp("&","g"), "&");
str = str.replace(new RegExp("<","g"), "<");
str = str.replace(new RegExp(">","g"), ">");
str = str.replace(new RegExp(‘"’,"g"), """);
setSelection(e, str);
return false;
}
あとはDecode用ボタン
をMTPath/imagesフォルダにアップして完了。画像アップが面倒であれば、画像の部分をdecodeとテキストにしてもOKかと思います。
これだけでは、編集画面の追記部分のテキストにボタンが通用しないので、編集した
<script type="text/javascript">
<!–
if (canFormat) {
with (document) {
write(‘<div style="float: right;">’);
write(‘<a title="<MT_TRANS phrase="Bold">" href="#" onclick="return formatStr(document.entry_form.text, \’strong\’)"><img src="<TMPL_VAR NAME=STATIC_URI>images/bold-button.gif" alt="<MT_TRANS phrase="Bold">" width="24" height="18" border="0" /></a>’);
write(‘<a title="<MT_TRANS phrase="Italic">" href="#" onclick="return formatStr(document.entry_form.text, \’em\’)"><img src="<TMPL_VAR NAME=STATIC_URI>images/italic-button.gif" alt="<MT_TRANS phrase="Italic">" width="24" height="18" border="0" /></a>’);
write(‘<a title="<MT_TRANS phrase="Underline">" href="#" onclick="return formatStr(document.entry_form.text, \’u\’)"><img src="<TMPL_VAR NAME=STATIC_URI>images/underline-button.gif" alt="<MT_TRANS phrase="Underline">" width="24" height="18" border="0" /></a>’);
write(‘<a title="<MT_TRANS phrase="Insert Link">" href="#" onclick="return insertLink(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/url-button.gif" alt="<MT_TRANS phrase="Insert Link">" width="26" height="18" border="0" /></a>’);
write(‘<a title="<MT_TRANS phrase="Decode">" href="#" onclick="return Decode(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/decode-button.gif" alt="<MT_TRANS phrase="Decode">" width="26" height="18" border="0" /></a>’);
}
}
// –>
の(document.entry_form.text)の部分を(document.entry_form.text_more)に変更して、edit_entry.tmplの次の部分の直後にいれました。
<TMPL_IF NAME=DISP_PREFS_SHOW_EXTENDED>
<div class="field">
これで、編集画面の「追記(extend)」の横にも同じようなボタンが現れているはずです。
エントリーの投稿画面の修正
エントリーの投稿画面にデコードや文字色指定のリストボックスを追加しているうち「エ…
MTの編集画面を使いやすく
Movable Typeの編集画面をすこし弄って使いやすくしてみました。 自分の…
すみません。
トラックバック飛ばしたJack in the Box.の管理人です。
いくつもPing飛ばしてしまったようで、本当に申し訳ないです。