エントリー画面でのテーブル挿入

初の自前カスタマイズです(^^;)

私の場合、<blockquote>タグとは別な表現として、
テーブルを使用しています。

今まではHTMLエディターに貼り付けて、
ちまちま作業をしていたのですが、
自分でカスタマイズすることにしました。

といっても、他人のスクリプトを見よう見まねで、
改造しただけなんですが。。。。


まず、mt.jsに以下を追加します。

mt.js

function insertTable (e) { if (!canFormat) return; var str = getSelection(e); if (!str) return; setSelection(e, '<table border="0" bgcolor="#D7D7D7" cellpadding="7"><tr><td>' + str + '</td></tr></table>'); return false; }

bgcolorcellpaddingは調整してください。

次に、tmpl/cms/edit_entry.tmplに以下を追加。

tmpl/cms/edit_entry.tmpl

write('<a title="<MT_TRANS phrase="Insert Table"> " href="#" onclick=" return insertTable(document.entry_form.text)"> <img src="<TMPL_VAR NAME=STATIC_URI> images/html-table.gif" alt="<MT_TRANS phrase="Insert Table">" width="22" height="16" /></a>');

そして、下記のような画像をimagesにアップします。

↓こちらのボタン画像はご自由にお使いください。

html-table.gif


↓すると、エントリー画面はこうなります。

文字列を選択し、ボタンを押すと、
テーブルタグで囲まれます。

できれば、行と列の数を指定したものが追加できるようにしたいな〜


う〜ん、、、でもこれって。。。。
スタイルシートでどうにでもなるような気もしますが。。。(^^;)

スタイルシートでできるように、
<div id=***></div>のようなモノを追加するカスタマイズも作りたいと思います。

今後をご期待(^^;)


2005/06/03 追記

やはり、スタイルシートでどうにでもなるということに気がつきましたので、
背景色とパディングをなくしました(^^;)


mt.js

function insertTable (e) { if (!canFormat) return; var str = getSelection(e); if (!str) return; setSelection(e, '<table border="0"><tr><td>' + str + '</td></tr></table>'); return false; }


----------------------------------------------------
2005/06/24
MTのバージョンが3.17になり、ファンクション名が変わっています。

こちらを必ず参照してください。