SitecoreにはRich Text タイプのフィールドを編集するための Rich Text Editor が提供されています。Rich Text Editor の上部ツールバーに表示されるコマンドのセット(ボタンセット)はカスタマイズすることができます。
今回はカスタマイズ方法の覚書を記載します。
検証環境
- CMS 6.6 Update 6
- 記事内でSDNのドキュメントを参照している場合は、記事作成時点の最新のドキュメントになります
Rich Text Editor をカスタマイズする詳細はSDNのドキュメントを"クライアント構成クックブック"の3.3.4 リッチテキストエディター(RTE)の構成 参照してください。
1. Rich Text Editor で使用する Html Editor Profile を変更するには
Rich Text を編集するのに使用する Rich Text Editorのツールバーに表示されるコマンドセットは Htmlエディター用のプロファイル定義アイテムで定義します。
プロファイルは Core データベースの /sitecore/system/Settings/Html Editor Profiles 配下に定義されています。インストールした時点で次のプロファイルが用意されています。
- Rich Text Default
- Rich Text Full
- Rich Text Medium
- Rich Text Mail
- Rich Text IDE
リッチテキストタイプのフィールドのソース属性にこのプロファイルのパスを指定することで Rich Text Editor で表示されるコマンドのセットを変更することができます。下図では Rich Text Fullのプロファイルのパスを、Text という Rich Text型のフィールドのソースフィールドに設定した例になります。Rich Text FullはSitecore で使用できるすべてのRich Text Editorのコマンドが設定されたプロファイルになります。
ソースフィールドに何も指定しない場合はWeb.config の <setting name="HtmlEditor.DefaultProfile" value=".."/>で指定された Html Editor Profile が使用されます。既定ではvalue値は /sitecore/system/Settings/Html Editor Profiles/Rich Text Default になっています。
上記のように ソースフィールドにプロファイルのパスをしていすることで Rich Text Editor で表示される コマンドセットを定義することができます。
2. 標準以外のプロファイルを使用する場合
標準で用意されているHtml Editor Profile を直接編集するのではなく、自分の運用に近いプロファイルを /sitecore/system/Settings/Html Editor Profiles配下に複製してカスタマイズを行います。作成したカスタムプロファイルをRich Text フィールド定義アイテムの ソースフィールドに設定します。
3. ユーザーの権限よって表示されるコマンドセットを変更したい
プロファイルにあるコマンド(ボタン)の定義アイテムに対して 読み取り権限の許可/拒否を行うことで1つのプロファイルでユーザー(もしくは所属するロール)によって表示されるコマンドの種類を制御することができます。
4.まとめ
簡単ですが説明は以上です。既存のHtml Editor プロファイルが運用に適さない場合は、既存のシステムに影響が発生しないように プロファイルを複製してカスタムの Html Editor プロファイルを変更するようにしてください。
本記事ではご紹介しませんでしたが、SDN のクライアント構成クックブックの3.3.4 リッチテキストエディター(RTE)の構成 を参照していただくと、Rich Text Editor の HTML タブ (Htmlを直接入力するモード) を非表示にしたり,削除する方法やhtmlスニペットの登録方法なども記載されていますので一読ください。
さんのコメント: さんのコメント: