複数のインプレースエディターの設定

Adobe Experience Managerでリッチテキストエディターを設定して、複数のインプレースエディターを含めることができます。 このような設定にすると、適切なコンテンツを選択して、適切なエディターを開くことができます。

特定のインプレースエディター

複数のエディターの設定

複数のインプレースエディターを有効にするには、cq:InplaceEditingConfig ノードタイプの構造を cq:ChildEditorConfig ノードタイプの定義で強化します。

次に例を示します。

   /**
       * Configures in-place editing of a component.
       *
       * @prop active true to activate in-place editing for the component.
       * @prop editorType ID of in-place editor to use.
       * @prop cq:childEditors collection of {@link cq:ChildEditorConfig} nodes.
       * @prop configPath path to editor's config (optional).
       * @node config editor's config (used if no configPath is specified; optional).
     */
    [cq:InplaceEditingConfig] > nt:unstructured
      - active (boolean)
      - editorType (string)
      + cq:childEditors (nt:base) = nt:unstructured
      - configPath (string)
      + config (nt:unstructured) = nt:unstructured

    /**
      * Configures one child editor for a sub-component. The name of the this node is
      * used as DD ID.
      *
      * @prop type type of the inline editor. For example, ["image"].
      * @prop title Title of the inline editor.
      * @prop icon Icon to represent the inline editor.
    */
    [cq:ChildEditorConfig] > nt:unstructured
      orderable
      - type (string)
      - title (string)

複数のエディターを設定するには、次の手順に従います。

  1. (タイプcq:InplaceEditingConfigの)ノードcq:inplaceEditingで、次のプロパティを定義します。

    • 名前:editorType
    • 型:String
    • 値:hybrid
  2. このノードの下に、次のノードを作成します。

    • 名前:cq:ChildEditors
    • 型:nt:unstructured
  3. cq:childEditorsノードの下に、各インプレースエディター用のノードを作成します。

    • 名前:各ノードの名前は、ドロップターゲットの場合と同様に、そのノードが表すプロパティの名前です。 例えば、imagetext です。
    • 型:cq:ChildEditorConfig
    メモ

    定義されたドロップターゲットと子エディターの間には相関関係があります。cq:ChildEditorConfigノードの名前はドロップターゲットIDと見なされ、選択した子エディターのパラメーターとして使用されます。 編集可能なサブ領域にドロップターゲットがない場合(例えば、テキストコンポーネント内にドロップターゲットがない場合)、子エディターの名前は、対応する編集可能な領域を識別するIDと見なされます。

  4. これらの各ノード(cq:ChildEditorConfig)で、次のプロパティを定義します。

    • 名前: type.

    • 値:登録済みのインプレースエディターの名前。例えば、imagetextです。

    • 名前: title.

    • 値:使用可能なエディターのコンポーネント選択リストに表示されるタイトル。 例えば、ImageText です。

リッチテキストエディターの追加設定

複数のリッチテキストエディター(RTE)の設定は、個々の RTE インスタンスをそれぞれ別個に設定できるので、やや異なります。詳しくは、リッチテキストエディターの設定を参照してください。 複数のRTEを使用するには、各インプレースRTEの設定を作成します。 Adobeでは、cq:InplaceEditingConfigの下に新しい設定ノードを作成することをお勧めします。各RTEは異なる設定を持つことができます。 新しいノードの下に、個々のRTE設定を作成します。

    texttext
        cq:dialog
        cq:editConfig
            cq:inplaceEditing
                cq:childEditors
                    someconfig
                        text1
                            rtePlugins
                        text2
                            rtePlugins
メモ

ただし、RTE の場合、configPath プロパティがサポートされるのは、コンポーネント内のテキストエディター(編集可能なサブエリア)のインスタンスが 1 つだけのときです。このconfigPathの使用は、コンポーネントの古いユーザーインターフェイスダイアログとの下位互換性をサポートするために提供されています。

注意

RTE 設定ノードの名前を config にしないでください。そうしないと、RTE設定は管理者のみが使用でき、グループcontent-authorのユーザーは使用できません。

コードサンプル

このページのコードは、GitHubの🔗のaem-authoring-hybrideditorsプロジェクトにあります。 プロジェクト全体をZIPアーカイブとしてダウンロードできます。

インプレースエディターの追加

インプレースエディターの追加に関する一般的な情報については、ページオーサリングのカスタマイズを参照してください。

このページ