Title: リッチテキスト エディターのツールバーやコンテキスト メニューの項目をカスタマイズするには

TeamPage は TinyMCE を標準のリッチテキスト エディターとして採用しています。

TeamPage の TinyMCE のツールバーやコンテキスト メニュー(マウスの右クリックで表示されるメニュー)に表示される項目は、Download2143: Proteus カスタム JavaScript & CSS プラグイン を使ってカスタマイズできます。



ツールバーとコンテキスト メニュー



リッチテキスト エディターのツールバーとコンテキスト メニューは、下図で示された部分のことです。ここに表示されるメニュー項目をカスタマイズします。

ツールバーとコンテキスト メニュー

Proteus カスタム JavaScript & CSS プラグイン設定



1. プラグインの編集画面の [JavaScript] 欄に、Proteus.addHandler("load", function(){}); を記入します。



2. 上図の空行の部分に次のコードを記入します。これは、既定のツールバーとコンテキスト メニュー用の設定です。

Traction.Edit.TinyMce.DEFAULT_TINYMCE_OPTIONS.contextmenu = "bold italic underline strikethrough subscript superscript codeformat | inserttractionlink inserttractionimage inserttractionwidget | inserttable cell row column deletetable | unlink removeformat";
Traction.Edit.TinyMce.DEFAULT_TINYMCE_OPTIONS.toolbar = "tinymenu | formatselect | forecolor | backcolor | bold italic | alignmentselect | bullist numlist outdent indent blockquote | tractionlink unlink tractionimage table | tractionwidget";
Traction.Edit.TinyMce.DEFAULT_TINYMCE_OPTIONS.tinymenu_menus = {
  edit: { text: "Edit", items: 'undo redo | cut copy paste pastetext | selectall removeformat' },
  view: { text: "View", items: 'fullscreen visualaid code' },
  font: { text: "Font", items: 'fontmenu fontsizemenu' },
  insert: { text: "Insert", items: 'inserttractionlink inserttractionimage inserttractionwidget | inserttable charmap hr pagebreak' }
};


実際のプラグイン設定画面に記入すると、下図ようになります。赤枠内が記入したコードです。



3. 既に他のカスタマイズ用に Proteus.addHandler("load", function(){}); が記入されている場合は、記入済みの部分を削除したり二重に記入したりする必要はありません。既存のコードに上記 2. のコードを追記して下さい。



コンテキスト メニューのカスタマイズ



追加したコードの 1 行目の Traction.Edit.TinyMce.DEFAULT_TINYMCE_OPTIONS.contextmenu = の右辺でコンテキスト メニューに表示される項目を指定します。

右辺には bold や italic などのキーワードが並んでいます。これらが表示する項目を表しています。なお、縦棒記号(|)は区切り線を表します。



詳しくは、TinyMCE のマニュアルを参照して下さい。

下図は、undo, redo, formats を追加した例です。



ツールバーのカスタマイズ



追加したコードの 2 行目の Traction.Edit.TinyMce.DEFAULT_TINYMCE_OPTIONS.toolbar = の右辺でツールバーに表示される項目を指定します。



下図は、fontselect, fontsizeselect, undo, redo を追加した例です。



歯車メニューのカスタマイズ



追加したコードの 3 〜 7 行目の Traction.Edit.TinyMce.DEFAULT_TINYMCE_OPTIONS.tinymenu_menus = の右辺で、歯車メニューに表示される項目を指定します。

右辺の edit: view: font: insert: が歯車メニューの第 1 階層の項目に対応しています。(メニューの一番下の [書式] は設定できません)

そして、items: の右側に第 2 階層として表示する項目が並んでいます。

例えば、edit: の行は、「[編集] メニューの中に [元に戻す] (undo), [やり直す] (redo), [切り取り] (cut), [コピー] (copy) ... を表示する」という設定になっています。この [編集] メニューから [元に戻す] と [やり直す] を削除するには、undoredo (と区切り線)を削除します。





Attachments:
tinymce_01.png
js_01.png
js_02.png
js_03.png
js_04.png
example1.png
example2.png
関連記事
Article: FAQ2786 (permalink)
Categories: :FAQ:カスタマイズ, :FAQ:TinyMCE, :DocJp:FAQ
Date: 2018/07/06; 16時33分00秒 JST

Author Name: TeamPage サポート
Author ID: jpbo