tohokuaikiのチラシの裏

技術的ネタとか。

TinyMCEはBRタグの代わりにPタグを使うのがうっとうしい

TinyMCEはPタグを基本として使う。

思想としてはわかる。文章を打っていて、リターンをするとそれでパラグラフって扱う感じ。
で、パラグラフの中に区切りとしての改行が欲しい場合は「Shift-Keyを押しながらリターン」を打つ。MSのWordとかもそんな感じ。

なんだけれども、
google:tinymce Pタグ
ってしてみると、やっぱり困ってる人が多いみたい。

何が困るかって、そもそもTinyMCEで入力させる部分がPタグの一要素として考えるからなんだけど。
まぁ普通にWeb制作する場合はそうだわな。

というわけで、これを入れさせない方法。
TinyMCE_ForceParagraphs._insertParaってメソッドがそのPタグ混入方法なので、これの分岐を行かないようにif (false&&ってつける。
TinyMCEはソースコードが圧縮されているので、まぁなんとなく下の画像見て頑張って探して。
クリップボード01
クリップボード01 posted by (C)ITOH Takashi

果たしてこれでその他にも影響が出ないかっていうのはよくわからない。TinyMCEの思想とバッティングするやり方だからな。

でも、TinyMCEって編集中にリターンをうちさえしなければ結局Pタグを使わないのでたぶん問題ないと思うな。


追記:
http://japan.nucleuscms.org/bb/viewtopic.php?t=3917
によると、

ちなみにNP_TinyMCE.phpファイルのtinyMCE.init関数内にオプションを書き足すと
Shift + Enterをしなくてもpタグはつかずに改行できますよ。
赤字部分を追加してみてください。

tinyMCE.init({
force_br_newlines : true,
forced_root_block : '',
force_p_newlines : false,

すばらしい。