ユニバーサルエディターのカスタマイズ customizing

コンテンツ作成者のニーズに合わせてユニバーサルエディターをカスタマイズする様々なオプションについて説明します。

TIP
ユニバーサルエディターには多くの拡張ポイントも用意されており、プロジェクトのニーズに合わせて機能を拡張できます。

Meta設定タグの使用 meta-tags

特定のオーサリングワークフローでは、ユニバーサルエディターの一部の機能を使用する必要があり、他の機能を使用する必要がない場合があります。 このような多様なケースをサポートするために、メタタグを使用して、エディターの特定の機能やボタンを設定または無効にすることができます。

機能の無効化 disable-features

ページの<head> セクションでこのタグを使用して、1つ以上の機能を無効にします。

<meta name="urn:adobe:aue:config:disable" content="..." />

複数の機能を無効にする場合は、値のコンマ区切りリストを指定します。

contentでサポートされている値、つまりメタタグで無効にできる機能を次に示します。

コンテンツの値
説明
publish
公開のすべての機能(つまり、公開ボタン ​非公開ボタン ​)を無効にする
publish-live
ライブ 公開を無効にする
publish-preview
プレビューの公開を無効にします(​ プレビューサービス ​が利用可能な場合)
unpublish
非公開ボタンを無効にする
copy
​ コピーと貼り付けボタン ​を無効にします
duplicate
重複ボタン ​を無効にします
header-open-page
​ ページを開くボタン ​を無効にします
aem-dev-login
開発者ログインボタンを無効にします

エディターモードの定義 defining-mode

特定のモードでユニバーサルエディターを強制的に開くことができます。 ページの<head> セクションでこのタグを使用して、エディターモードを強制します。

<meta name="urn:adobe:aue:config:mode" content="..." />

contentでサポートされている値、つまりメタタグで無効にできる機能を次に示します。

コンテンツの値
説明
preview
エディターが​ プレビューモードで開きます。 プレビュー アイコンは非表示になっており、ユーザーは編集モードに戻すことができません。
readonly
エディターが読み取り専用モードで開きます。 プロパティ ボタンとパネル ​は非表示になっています。 詳細はコンテンツツリーで確認できますが、変更は行えません。

メタタグを使用してモードを定義する場合、そのモードをユーザーが上書きすることはできません。

カスタムプレビュー URL custom-preview-urls

カスタムプレビュー URL は、urn:adobe:aue:config:preview メタ設定を使用して指定できます。この URL は、エディターの右上のツールバーにある「ページを開く」ボタンをクリックすると開きます。

これを行うには、次の例のように、実装されたアプリのメタタグに目的のプレビュー URL を含めます。

<meta name="urn:adobe:aue:config:preview" content="https://wknd.site"/>

エンドポイントの変更 custom-endpoint

アドビがホストするユニバーサルエディターサービスではなく、独自にホストするバージョンを使用する場合は、メタタグでこれを設定できます。 詳しくは、AEM のユニバーサルエディターの概要ドキュメントを参照してください。

コンポーネントのフィルタリング filtering-components

コンポーネントフィルターを使用して、ユニバーサルエディターでコンテナごとに使用できるコンポーネントを制限できます。 詳しくは、コンポーネントのフィルタリングのドキュメントを参照してください。

プロパティパネルでのコンポーネントを条件付きで表示および非表示にする conditionally-hide

1 つまたは複数のコンポーネントを一般的に作成者が利用できる場合がありますが、意味をなさない状況が発生する場合もあります。 このような場合、condition 属性をコンポーネントモデルのフィールドに追加することによって、プロパティパネルでコンポーネントを非表示にすることができます。

条件は、JsonLogic スキーマを使用して定義できます。 条件が true の場合、フィールドが表示されます。 条件が false の場合、フィールドは非表示になります。

サンプルモデル
code language-json
 {
    "id": "conditionally-revealed-component",
    "fields": [
      {
        "component": "boolean",
        "label": "Shall the text field be revealed?",
        "name": "reveal",
        "valueType": "boolean"
      },
      {
        "component": "text-input",
        "label": "Hidden text field",
        "name": "hidden-text",
        "valueType": "string",
        "condition": { "===": [{"var" : "reveal"}, true] }
      }
    ]
 }
条件 False
非表示のテキストフィールド
条件 True
表示されたテキストフィールド

制限:マルチフィールドコンテナ内の条件 conditions-multi-field-limitation

条件varの解決は絶対であり、現在の行に対する相対ではありません。 varは、ルートレベル fieldNameか、コンテナ内のフィールドの先頭にコンテナ名containerName|fieldNameを付ける必要があります。

同じアプローチは、複数のコンテナ(反復可能な行)に対しては機能しません。 行コンテンツは、実行時にcontainerName/0|fieldNamecontainerName/1|fieldNameなどとしてインデックスが作成されますが、そのインデックスは条件のオーサリング時には不明で、行が追加、削除、または並べ替えられるにつれて移動します。 その結果、作成者が同じ行内の特定のフィールドをターゲットにする方法がないので、マルチコンテナ内の条件はサポートされていません。

recommendation-more-help
experience-manager-cloud-service-help-main-toc