フィールドフォールバック機能を有効にする
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
サイトの 言語フォールバックを可能にする だけでなく、SXAはレンダリングバリアントのフィールドにフォールバック機能を追加できます。フィールドフォールバックとは、フィールドの値がフィールド自体以外のどこかから来る機能のことです。例えば、ページに複数のタイトルがあるが、すべてが必ずしも埋められているわけではない場合など、便利な場合があります。また、通常はナビゲーションでページタイトルを使うのに、場合によってはタイトルが長すぎて、ナビゲーション用に明示的に短いタイトルを指定したい場合などです。
フォールバックを定義すると:
- レンダリングバリアントフィールドに子アイテムを追加してください。レンダリングバリアントの子アイテムのルートのすぐ下にフォールバックアイテムを定義しなければなりません。フォールバックアイテムには子アイテムが含まれてはなりません。
例えば、デフォルトではナビゲーションコンポーネントには、フォールバック用の2つのフィールドを含むレンダリングバリアントが付属しています。
フィールド
概要
ナビゲーションタイトル フィールド。
タイトルフィールドは最初のフォールバックアイテムです。ナビゲーションタイトルフィールドが存在しない場合、または空のままの場合、タイトルフィールドの値が取り出されます。
__Display名フィールドは2つ目のフォールバックアイテムです。タイトルフィールドが存在しないか空のままの場合、__Displayの名前フィールドの値が取り出されます。
!注すべてのレンダリングバリアントが同じHTML階層構造を持っているわけではありません。例えば、セクションに子アイテムを追加すると、このアイテムは選択したHTMLタグの下で生成される新しいHTMLを定義するため、フォールバックとしては機能しません。
フィールド名が存在しないか空のままであれば、バリアントフィールドのすべての子項目はフォールバックフィールドとなります。しかし、フィールドが編集可能(デフォルトではすべてのフィールドが編集可能)であれば、フォールバックを定義していても、Experience EditorではSXAはフォールバックを実行しません。代わりに、ルートフィールドを編集できます。これは、フォールバックが実行されてフィールドが元々空だった場合、ルートフィールドの値を提供する方法がなくなるためです。フォールバックを実行したい場合は、レンダリングバリアント内のフィールドを必ず編集不可としてマークしなければなりません。