推奨事項
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
例えば、SXAを拡張して、SXAツールボックスに自分だけのカスタムレンダリングを追加したり、テーマやテンプレートを追加したりしたいかもしれません。このトピックでは、SXAを拡張するためのいくつかの要件や推奨事項について説明します。
SXAが管理するツリーの枝にはカスタムアイテムを入れないでください
SXAを拡張する際は、カスタムアイテムをどこに保存するかを考えてください。SXAはSXAのアップデート時に標準のSXAセクションを上書きします。したがって、カスタムアイテムをSXAで制御するツリーブランチに配置すると、アップグレード後にインスタンスが壊れる可能性があります。以下を推奨します:
-
カスタムモジュールをExperience Acceleratorモジュールの根の兄弟ブランチに配置します。
-
テンプレートはExperience Acceleratorフォルダーの兄弟フォルダに入れて、絶対に内側には置かないでください。
-
同様に、レンダリング、ブランチ、メディアなど他のすべての領域に対してモジュール固有のルートアイテムを作成する必要があります。
関連トピック:
OOTB SXA項目を改変しないでください
SXAを拡張する際は、カスタム機能のために必ずSXA拡張ポイントを使用してください。例えば、カスタムデータテンプレートを作成するなどです。それが不可能で拡張機能の正当な理由がある場合は、SXAチームに連絡して拡張機能ポイントを作成してもらうべきです。
関連トピック:
SXA MVCレイアウトを交換しないでください
SXA MVCレイアウトはグリッド、テーマ、メタコンポーネントの基盤であり、SXA他の一般的な動作にもその存在を依存できます。レイアウトをカスタム実装に置き換えると、将来のバージョンとの互換性を失うリスクがありますSXA。
レイアウトにカスタムの非ビジュアル要素を追加する必要がある場合は、メタレンダリングを作成し、それをMeta Partial Designに追加することを検討してください。ビジュアル要素がある場合は、標準的なSXAレンダリングの使用を検討してください。
SXAはレイアウトを拡張する複数の可能性を提供します。例えば、以下の通りです:
カスタムレンダリング用のSXAモジュールを作成しましょう
カスタムレンダリングをSXAモジュール に配置し、既存のサイトに追加したり、新たに作成したサイトで即座に利用したりできます。
あなたは以下のことをしなければなりません:
- モジュールにはサイトとテナントの足場連携を提供します。
- コンポーネントのデータソース定義を含めるか(またはOOTB SXAデータソースを再利用してください)。
- データソースに対してサイト相対クエリを定義してください。
関連トピック:
ソリューションに機能を追加する際はHelixの原則に従う
Helixは、Sitecore開発のための公式ガイドラインと推奨実践のセットを提供しています。SXA、Sitecore実装の構築、テスト、拡張、保守に関する開発プロセスの推奨を含むSitecore Helix原則に従っています。
以下をお勧めします:
- SXAの機能モジュールに依存しないようにし、基盤モジュールのみに依存関係を付けてください。レンダリングのクローン作成時に、プラットフォームコードを使って新機能を提供するため、ルール違反は許可されています。この推奨はOOTBのSXAレンダリングに適用され、必ずしもSXAのストアフロントレンダリングには適用されません。
- 特徴を分離し、適切なHelixモジュールに分けましょう。
- モジュールにはサイトとテナントの足場連携を提供します。
関連トピック:
ページのカスタムテンプレートはPageテンプレートを基にしてください
ページを表すカスタムテンプレートを作成する際は、Pageテンプレートをベーステンプレートとして選択しなければなりません。そうでなければ、特定の機能が動作しないことがあります。
項目ID: Page:{3F8A6A5D-7B1A-4566-8CD4-0A50F3030BD8}。
アイテムパス: sitecore/Templates/Foundation/Experience Accelerator/Multisite/Content/Page。
新しいレンダリングを作る前に既存のレンダリングを使うことを検討してください
フロー チャート を見て、カスタムコンポーネントを作成するかどうか判断してください。
既存のSXAレンダリングは、レンダリングバリアントやコンポジットを使ってカスタマイズできます。可能であれば、カスタムレンダリングを作成する前にバリアントやコンポジットの使用を必ず検討してください。
例えば、レンダリングバリアントでは、参照項目 でフィールドを表示したり、クエリ項目にトークンを 使ったり、コンテキスト項目をレンダリングしたりできます。
関連トピック:
新しいレンダリングを作る前に既存のレンダリングをクローンすることを検討してください
SXAレンダリングを簡単にクローンでき、レンダリングバリアントで可能以上にHTMLをカスタマイズできます。その過程で、データソースやレンダリングパラメータを追加することもできます。可能であれば、SXA OOTBコンポーネントで実現可能な機能のためにカスタムレンダリングを構築する前に、この方法を必ず考慮してください。
項目にリンクするフィールドの範囲を制限する
クエリをサポートするフィールドについては、編集者が選択できる項目の範囲を制限する必要があります。
例えば、以下を使います:
- query:$siteMedia – ファイルフィールドや画像フィールドのために。
- query:$home – ページへのリンクフィールドに対して。
- query:$site – サイト内の任意の項目にリンクできるフィールド。
SXAパイプラインの説明には、トークンの完全なリストとその拡張方法が含まれています。