今後エントリー画面の拡張という話が出てきそうな予感がしたので、WYSIWYGエディタの実装を検討。
まずはテストサーバに入れてみて、とりあえず動くようならKurumiStyleに実装して使ってみようかと思います。
以下インストールとプチカスタマイズの備忘録
【手順】
- 1.MT-Plugin-FCKeditor-1.2.ja_v2をサイトからダウンロード。
- 2.ダウンロードしたファイルを解凍。
- 3.解凍後出来上がったmt-staticフォルダとpluginsフォルダをそれぞれアップロード。
- 4.mt-config.cgiをダウンロードして下記の一文を追加したらサーバーへアップロード。
#======== RichTextEditor ==========
RichTextEditor FCKeditor
これでエントリー投稿画面でFCKeditorが利用できるようになりました。
しかし、文字を入力すると<P>タグが自動で挿入されてしまいます。Shift+Enterで<br>改行できるようですが、結局<p>タグで囲われているるため私の用途ではあまりよろしくありません。
そこで、<p>タグで囲われること無く<br>開場できるように対応しました。
- 1.fckconfig.jsファイルを開く。
/mt-static/plugins/FCKeditor/fckeditor/fckconfig.js - 2.149行目~150行目付近の下記のコードを下記のように設定する
設定方法
FCKConfig.EnterMode = 'p' ; // p | div | br
FCKConfig.ShiftEnterMode = 'br' ; // p | div | br
下記のように書き換えて保存しサーバーへアップロードする。
FCKConfig.EnterMode = 'br' ; // p | div | br
FCKConfig.ShiftEnterMode = 'p' ; // p | div | br
これで<p>タグが自動挿入されることなくEnterキーの押下のみで<br>改行できるようになりました。
このカスタマイズの実施後コードを見てみると文章の最後に下記のコードが自動入力されるようになりました。
<br type="_moz" />
ちょっと気持ち悪かったので調べてみると、type=_mozは【mozBR】と呼ばれる、特殊なBRノードであるということがわかりました。これがないと最下行が空行の時には、そこにカーソルを置くことができなくなってしまうそうです。
これもきもちわるいから嫌だという場合はbrの代わりに下記のようにdivにしてやるといいみたいですが、結局<div></div>で囲まれるだけなので<br type="_moz" />を許容することにしました。
FCKConfig.EnterMode = 'div' ; // p | div | br
FCKConfig.ShiftEnterMode = 'p' ; // p | div | br
テストサーバー環境への設置がうまく行ったので早速KrumiStyleにも実装してみようかと思います。