問題
- CKEditor 内の Wiki ポートレットのコメント セクションで、画像を挿入しようとすると、実際には画像が挿入されませんが、ドキュメントには追加されます。
- 代わりに空行が追加されます。
- ブラウザ コンソールにも Liferay ログにもエラーは表示されません。
再現手順:
- CKEditor で DXP 7.1 をセットアップする
- ポータルを起動し、管理者としてログインします
- テスト ページに Wiki ポートレットを追加する
- Wikiのコメント欄にCKEditorで画像追加
Environment
- portal-ext.properties で次のプロパティを使用して、CKEditor で構成された DXP 7.1:
editor.wysiwyg.portal-web.docroot.html.portlet.message_boards.edit_message.html.jsp=ckeditor editor.wysiwyg.portal-web.docroot.html.taglib.ui.discussion.jsp=ckeditor
解決策
このような動作は実際には設計上意図されており、Wiki のコメント セクションに特定の種類の HTML 要素を表示する機能を制御する機能を提供するプロパティがあります:
ディスカッション コメントで使用できる要素と属性のリストをセミコロンで区切って入力します。 これは、エディターが特定のマークアップを許可するために使用され、バックエンドがコンテンツをサニタイズするために使用されます。
オプションで、属性をカンマ区切りのリストとして指定できます。 属性が指定されていない場合、ディスカッション コメントが追加されると、すべての属性がクリーンアップされます。
サポートされている構文は、http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules-section-string-format に記載されている構文のサブセットです。
次の文法は、サポートされているサブセットを説明しています (括弧はグループ化に使用され、'*' は 0 回以上の繰り返しを意味し、'|' は代替を説明するために使用されます)。
allowed-content : element (; element)*
element : element-name | element-name[attribute (, atribute)*]デフォルト:
discussion.comments.allowed.content=a[href];em;p;span[class];strong;u
デフォルトでは、IMG 要素は許可されていないため、説明されているエクスペリエンスが発生します。
たとえば、次のプロパティが portal-ext.properties ファイルに追加された場合、画像は Wiki コメント セクションに挿入されます:
discussion.comments.allowed.content=a[href];em;p;span[class];strong;u;img[src]