MT3.34 エントリー画面カスタマイズを継続する

movabletype 3.34の導入をした。
updateでやっかいなのはカスタマイズしているエントリー画面なのだが、
今回はあっさりDEKITA。

エントリー画面でamazonのリンクその他のボタンを追加していたのだが、
カスタマイズしていたedit_entry.tmplと、
mt.jsをカスタマイズ箇所だけコピーしておいて、
全て3.34に上げてから該当の箇所を追加。で完了した。

例えばASIN番号を入れるだけでアフィリエイトリンクを作成するボタンを作るとすれば、
つまり
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/ASIN番号/アフィリエイトID/ref=nosim" target="blank">選択した文字</a>
というリンクをワンタッチで作りたいとすれば、

まず
tmpl/cms/edit_entry.tmpl の533行目くらいに
write(‘<img title="<MT_TRANS phrase="Bold">

という記述があるので、
そこの上に

write(‘<td width="26"><a href="javascript:insertAmazon()"><img src="<TMPL_VAR NAME=STATIC_URI>images/ボタンの画像.gif" alt="<MT_TRANS phrase="ASIN_Link">" width="24" height="18" border="0"></td>’);

こんな感じで追加する。

その後、
mt-static/mt.js で
function insertLink (e, isMail) { の上の行に、

function insertAmazon () {
if (!document.selection) return;
var str = document.selection.createRange().text;
if (!str) return; var asin = prompt(‘<Enter ASIN(jp)>’, ”);
var strwrk = ‘<a href="http://www.amazon.co.jp/exec/obidos/ASIN/’ + asin;

strwrk += ‘/アフィリエイトID/ref=nosim" target="blank">’ + str + ‘</a>’;
if (asin != null)
document.selection.createRange().text = strwrk;
}

と入れると、Bのボタンの横にamazonASINリンク用のボタンが追加される。
ボタンの画像は

/mt-static/images/に入れれば良い。

ちなみにこんなボタンを使っている。

あとはエントリーを書くときに、リンクしたい文字をハイライトして、
ASIN番号を入れればリンクが出来る。

ちなみにこのボタン、firefoxではうまく動作しないのでIE Tabという
アドオンを入れて使っている。