DrupalでTinyMCEを使う方法はいくつかありますが、今回は割と簡単にできるTinyTinyMCEというモジュールを使用する方法を紹介します。
インストール
DrupalでTinyMCEを使うには、このTinyTinyMCEモジュールとは別途にTinyMCEの本体を入手する必要があります。TinyTinyMCEモジュール
http://drupal.org/project/tinytinymce
TinyMCE
http://tinymce.moxiecode.com
まず、ダウンロードしたTinyTinyMCEモジュールのtinytinymce-6.x-X.X-tar.gzファイルをsites/all/modulesディレクトリで展開します。これでsites/all/modulesの下に/tinytinymceというディレクトリが作成されます。
次にダウンロードしたTinyMCE本体のtinymce_3_X_X.zipファイルを任意の場所で展開し、作成されるtinymceというディレクトリ以下をそっくりそのまま先ほどのsites/all/modules/tinytinymceディレクトリにコピーします。つまり、TinyMCEの本体はsites/all/modules/tinytinymce/tinymceというディレクトリ以下にコピーされることになります。
ここまでやったら、管理ページ>モジュールからTinyTinyMCEモジュールを有効にします。これで以下のような編集画面のテキストエリアの上に TinyMCEのツールバーとアイコンが表示されればOKです。
TinyMCEの2つのモードを使い分ける
TinyTinyMCEではTinyMCEのSimpleとAdvancedという2つのモードをユーザのロールに応じて使い分けることができるようになっています。上にある画像はこのうちのAdvancedモードです。Simpleモードの場合には以下のようになります。
Simple、Advancedどちらのモードでも、テキストエリアの下にある「rich text editor」というリンクをクリックすることで、TinyMCEエディタのON/OFFをその場で切り替えることができます。TinyMCE自体にもHTMLのソースコードを表示する機能(HTMLと書いてあるボタン)があるのでそちらを使うことでも同様のことができます。 尚、この「rich text editor」リンクを有効にするかどうかはTinyTinyMCEの環境設定ページで指定することができます。
Simple、Advancedのモードの割り当てはDrupalのユーザ権限のページからロールごとに指定することができます。
TinyMCEをカストマイズする
TinyTinyMCEの環境設定画面は以下のようにTinyMCEの初期設定tinyMCE.initをSimpleモードとAdvancedモード別々に指定することができるようになっています。TinyMCEのカストマイズはほとんどこの部分の設定を変更するだけで済んでしまいます。この設定は直接javascriptコードを記述するために見た目ちょっとわかりずらいとは思いますが、その分後で説明するWYSIWYGモジュールを使った方法よりも詳細にわたるカストマイズが可能です。この点がTinyTinyMCEを使う利点のひとつだと思います。
まず、Advancedモードツールバーの見た目をちょっと替えてみましょう。
ツールバーの外観(skin)はsites/all/modules/tinytinymouse/tinymce/jscript/tiny_mce/themes/advanced/skinsディレクトリにあります。標準のものと"o2k7"というのの2種類がありますので、ここではo2k7を使うことにしました。自分のskinを作成する場合には、ここに新しいディレクトリを作成してそこにCSSファイルや画像データなどをいれることになります。(今回は省略します)
設定画面で「TinyMCE init script for advanced mode」というラベルのテキストエリアを編集して、skin : "o2k7" という行を追加するだけです。
- tinyMCE.init({
- mode : "exact",
- file_browser_callback: "imceImageBrowser",
- init_instance_callback : "resizeEditorBox",
- theme : "advanced",
- skin : "o2k7", // これを追加
- ( 省略 )
- template_external_list_url : "example_template_list.js",
- content_css: "/drupal/sites/all/modules/tinytinymce/tinymce.css" // これも追加
- });
これは、TinyMCE用のCSSファイルを新規作成してそこで指定をおこなう必要があります。ファイル名や設置場所はどこでも良いのですが、ここではtinymce.cssという名前のファイルをTinyTinyMCEモジュールディレクトリ/tinytinymceに作成することにします。
tinymce.cssの中身はこんな感じです。
- mceContentBody {
- font-size: 12px;
- }
content_css: "(作成したCSSのパス)" となります。ここではサーバのDocumentRoot下のdrupalというディレクトリがDrupalのルートディレクトリになっているために /drupal/sites/all/modules/tinytinymce/tinymce.css としました。

