2017-11-08 3 views
1

Magnolia-Teamは、ブロックに対してRichTextFieldDefinitionを使用できないと(DevelopingCustomBlocks)を書きました。Magnolia 5.5.6 Stories AppカスタムCKEditorパネル

将来的にページの代わりにコンテンツエディタを使用したいと考えています。エディタパネルの範囲を拡張することは可能ですか? Editor-Panel ckeditor(RichTextFieldで使用するために作成したもの)用(カスタム)プラグインを使用していますか?はいの場合、それを達成するためのヒントを教えてください。

答えて

2

可能であり、標準RichTextFieldを使用することもできます。 しかし、拡張を開始する前に、新しいエディタの背後にあるアイデア、作業中のデータ構造、後でそのデータをどのように操作するのかを理解してください。カスタム拡張機能ではエスケープするのは難しいでしょう。

エディタ全体は、編集には流暢であり、操作は非常に簡単で最大限の自由度を提供します。エディタはブロックの概念で動作します。 Enterキーを押すたびに新しいタイプのテキストブロックが生成されます。マグノリアが提供する他のタイプのブロックがあります。異なるタイプのブロックはそれぞれ別々に格納され、レンダリングはテンプレートで制御できます。例えば。あなたの選択に応じて、各テキストブロックはhtmlのparagraphまたはdivになります。他のブロックについては、他のタイプの要素を生成することがあります。そして、これはあなたが慎重になる必要がある場所です。 CKエディタを拡張したり、デフォルト/古いRichTextFieldを使い始めると、すでにhtmlを含むブロックが突然終了するため、そのブロックがテンプレートによって処理されたかどうか、そして結果として得られるhtmlが有効かどうかは予測できませんまたは整形されたものである。各ブロックでhtmlの量が少なくなるほど、簡単にテンプレートが作成されます。

テキストブロックに余分なプラグインを追加する場合、RichTextFieldを追加するために、このフィールドを提供するブロックを作成するだけで、エディタのconfig.jsを変更できます。ただし、危険なhtmlを導入する危険性があり、2番目に危険なhtmlでのベーキングの危険性があり、RTFは他のブロックで使用可能な同じキーボードショートカットをサポートしないため、エディタとしての最先端の経験があることに注意してください。

関連する問題