tinyMCEを使うとsymfonyで簡単にリッチテキストエリアが作れる。ブログエディタなどについているJSのHTMLエディタだ。HTML入力フォームが簡単に作れるとユーザーに優しい。ブラウザ内でHTML Editor作りたいときはsymfonyが簡単に呼び出してくれる。
作り方。
generatorの場合、
edit: display: [ title, entry] fields: entry:{ name: "エントリ" type: textarea_tag, params: 'rich=true size=80x20' }
と書くだけで、OK. 信じられないくらい楽ちん
templateの場合、マニュアルの例をそのままに
textarea_tag('name', 'default content', 'rich=true size=10x20'))
と書く。rich=trueだけなんて素敵すぎる
generatorとtemplateの違いは、generatorがobject_textarea_tagを使っている(paramsで指定する、言語とかツールバーの配置の指定方法が若干違う?)
You must install TinyMCE to use this helper (see rich_text_js_dir settings)
このエラーは TinyMCE がsymfonyのデフォルトパスにないときに発生。
tinyMCEをまだインストールしてない場合は、tinyMECライブラリをsymfonyの作業エリアへ追加する
wget http://prdownloads.sourceforge.net/tinymce/tinymce_X_X_X.tgz?download tar zxvf tinymce_X_X_X.tgz cp -R tinymce/jscripts/tiny_mce symfony_projectHOME/web/js
もし、tinyMCEをデフォルトパスと違う場所にインストールしていたら。
setting.ymlでtinyMCEの場所指定する
all: .settings: rich_text_js_dir: js/tiny_mce #相対パスでの例
ハマリどころ
慌ててた。解凍ディレクトリをコピーしてしまった。解凍したディレクトリ内のライブラリをコピーする
解凍したディレクトリ中の以下の部分をsymfonyに入れる
tinymce/jscripts/tiny_mce
tinyMCEが英語でユーザーに優しくない。
日本語版パッケージを準備するしかない