2005年06月13日 Mon 15:38

MT3.17のQuickPostに関する覚え書き

MovableType3.17にVer.UPしたところ、
ブラウザ(IE)の右クリックメニューのクイックポストで
追記部分の文章の一部分を反転させてからURLボタンを押して
リンクを挿入しようとすると、反転させたところにはリンクが入らず、
エントリーの内容(body)の先頭にアドレス表示でリンクが入ります。

そこで、tmpl/cms/bm_entry.tmplの204行目辺りの
<TMPL_IF NAME=SHOW_TEXT_MORE>の前に以下のソースを追加。

<p>
<script type="text/javascript">
<!--
if (canFormat) {
with (document) {
write('<div style="float: right;">');
write('<a title="<MT_TRANS phrase="Bold" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text_more, \'strong\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/bold-button.gif" alt="<MT_TRANS phrase="Bold" escape="singlequotes">" width="24" height="18" border="0" /></a>');
write('<a title="<MT_TRANS phrase="Italic" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text_more, \'em\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/italic-button.gif" alt="<MT_TRANS phrase="Italic" escape="singlequotes">" width="24" height="18" border="0" /></a>');
write('<a title="<MT_TRANS phrase="Underline" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text_more, \'u\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/underline-button.gif" alt="<MT_TRANS phrase="Underline" escape="singlequotes">" width="24" height="18" border="0" /></a>');
write('<a title="<MT_TRANS phrase="Insert Link" escape="singlequotes">" href="#" onclick="return insertLink(document.entry_form.text_more)"><img src="<TMPL_VAR NAME=STATIC_URI>images/url-button.gif" alt="<MT_TRANS phrase="Insert Link" escape="singlequotes">" width="26" height="18" border="0" /></a>');
write('</div>');
}
}
// -->
</script>
</p>

これで追記部分にもURLの挿入などが可能になります。


こんな感じで、
通常の新規エントリ作成画面と
ほぼ同じような感じです。
但し、上のボタンと下のボタンでは、
別個の扱いになります。

また、『http://反転させた文字列』と言う感じで、
http://の後に反転させた文字が入るので、
これをなくしたい場合は、
下記のようにmt.jsの170行目辺りにあるhttp://の後の、
+ strを取り除くと、http://のみになります。

function insertLink (e, isMail) {
if (!canFormat) return;
var str = getSelected(e);
var link = '';
if (!isMail) {
if (str.match(/^https?:/)) {
link = str;
} else if (str.match(/^(\w+\.)+\w{2,5}\/?/)) {
link = 'http://';
} else if (str.match(/ /)) {
link = 'http://';
} else {
link = 'http://';
}

なお、テキトーにいじっただけなので、不具合が生じるかもしれませんし、
フルインストールではなく、アップグレードで発生したので
3.17をフルインストールした場合や環境によっては、
上記不具合が発生しないかも知れません。
もっと良い解決方法があると思いますし(あれば教えていただければ幸いです)、
SAからBugFixされたMTの新Ver.が出るかもしれませんので、
自己責任にて実行してくださいますよう、お願いいたします。

Posted by tugaa | Comments (0) | Category( MovableType )
このエントリのTrackBack URL:

このエントリのPermalink:
  このエントリーをブックマークに追加 
Trackback
Comments