1. 発達

SXAパイプライン

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

SXAパイプラインとそのプロセッサがどのように機能するかを理解すると、依存関係のレンダリング方法、レンダリング バリアントのトークンの作成方法、CSSクラスの生成方法などについての洞察が得られます。

パイプラインは、一連のプロセッサで構成されます。プロセッサは、メソッドを実装する .NETクラスです。パイプラインが呼び出されると、プロセッサは順番に実行されます。パイプラインを拡張およびカスタマイズするには、プロセッサを追加または交換します。パイプラインの拡張には、Sitecoreパッチ ファイルにあるパイプライン定義の変更が含まれます。

resolveVariantTokens

resolveVariantTokensパイプラインは、レンダリング バリアントのトークンを作成するために使用されます。

このパイプラインには、次のプロセッサが含まれます。

Processor

Description

ResolveIFileTypeIcon

ファイルの拡張子に従って、クラスを含むspan HTML要素をレンダリングします。

リゾルブアイテムID

解決するコンテンツ項目のIDを指定します。

リゾルブアイテム名

解決するコンテンツ項目の名前を指定します。

リゾルブサイズ

ファイルサイズをレンダリングします。

デコレートページ

decoratePageパイプラインは、属性でページの <body> タグを装飾するために使用されます。これらは、idclassなどの標準属性にすることができますが、カスタム データ属性を追加することもできます。

デコレートレンダリング

decorateRenderingパイプラインは、レンダリングの外側の <div> タグを属性で装飾するために使用されます。これらは、idclassなどの標準属性にすることができますが、カスタム データ属性を追加することもできます。

<div class="component title">
<div class="component-content">
<h2 class="field-title">
Title of the page
</h2>
</div>
</div>

メディアリクエストハンドラ

mediaRequestHandlerパイプラインは、SXAメディア リクエスト ハンドラーで使用されます。mediaRequestHandlerパイプラインはSitecore.XA.Foundation.MediaRequestHandler.configファイルで定義されます。

このファイルは、ワイヤーフレーム画像のサポートや最適化されたアセットの提供などのカスタム機能を実装するパイプラインを追加することで、標準のメディア要求ハンドラーを拡張します。

このパイプラインには、次のプロセッサが含まれます。

Processor

Description

ParseMediaRequest (英語)

HTTP要求が有効なメディア・タイプであるかどうかを確認します。そうでない場合、パイプラインは中止されます。

GetMediaFromUrl

HTTP要求に格納されているURLからメディア項目を判別します。

ハンドルエラー

ユーザーをエラーページにリダイレクトします。

resolveトークン

resolveTokensパイプラインは、クエリで使用できるトークンを解決するために使用されます。例えば:

  • $compatibleThemes - すべてのテーマへのパス

  • $theme - 現在使用されているテーマ

  • $pageDesigns - ページデザインのルート

  • $partialDesigns - パーシャルデザインのルート

  • $currenttemplate - 現在のテンプレートの名前

  • $tenant - 現在のテナントへのパス

  • $site - 現在のサイトへのパス

  • $home - 現在のサイトの開始アイテムへのパス (ホーム)

  • $templates - 現在のサイトテンプレートへのパス

  • $siteMedia - 仮想メディアフォルダアイテムの追加の子フィールドで指定されたメディアフォルダへのパス。

このパイプラインに新しいプロセッサを追加することで、新しいトークンを設計できます。

このパイプラインはSitecore.XA.Foundation.TokenResolution.configファイルで定義され、次のプロセッサが含まれています。

Processor

Description

現在のテンプレートトークン

現在使用されているトークンを決定します。

エスケープクエリトークン

Sitecoreクエリで使用されるトークンをエスケープするために使用されます。

アセットサービス

assetServiceパイプラインは、アセットの最適化を担当します。このパイプラインには、編集モードのときにテーマを追加するために使用できるAddEditingthemeプロセッサが含まれています。

<assetService>
        <processor type="Sitecore.XA.Foundation.Editing.Pipelines.AssetService.AddEditingTheme, Sitecore.XA.Foundation.Editing" />
      </assetService>

getControlEditability(コントロールエディタビリティ)

getControlEditabilityパイプラインは、レンダリングを編集可能にする必要があるかどうかを確認するために使用されます。これはSitecore.XA.Foundation.Editing.configファイルで定義されています。EditingCompositesLocalDatasourcesで使用されます。

<getControlEditability>
        <processor type="Sitecore.XA.Foundation.Editing.Pipelines.GetControlEditability.IsRenderingInCurrentItemRenderings, Sitecore.XA.Foundation.Editing" />
      </getControlEditability>

これには、コンポーネントXMLをチェックして、他のコンポーネント (一意のID) が含まれているかどうかを確認するIsRenderingInCurrentItemRenderingsプロセッサが含まれています。

getRobotsコンテンツ

getRobotsContentパイプラインは、robots.txtファイル内の検索クローラー ロボットに提供される応答を拡張するために使用されます。Robots.txtファイルは、サイトのルートディレクトリにある単純なテキストファイルで、検索エンジンのロボットにサイト上で何をクロールし、何をクロールしないかを指示します。getRobotsContentパイプラインには、次のプロセッサが含まれています。

Processor

Description

GetContentFromSettings (英語)

ロボットのコンテンツフィールドが入力されているかどうかを確認し、その値を使用します。

GetDefaultRobotsコンテンツ

ロボットのコンテンツ フィールドが空の場合に、robots.txtファイルの値を確認します。

AppendSitemapUrl (英語)

sitemap.xmlファイルのパスをロボットのコンテンツフィールドに追加します。

refreshHttpRoutes (英語)

refreshHttpRoutesパイプラインは、サイト構成の変更後にHTTPルートを更新するために使用されます。

getVelocityTemplateレンダラー

getVelocityTemplateRenderersパイプラインは、後でNVelocityテンプレートで使用できるカスタム レンダラーを追加するために使用されます。このパイプラインは、Sitecore.XA.Foundation.RenderingVariants.configファイルで定義されています。これには、次のプロセッサが含まれています。

Processor

Description

InitializeVelocityContext (英語)

パイプライン引数オブジェクトを初期化します。

AddTemplateRenderers

NVelocityテンプレートのデータと時間の値 (dateTool) と数値 (numberTool) を書式設定する2つのカスタム ツールを提供します。

resolveSearchQueryTokens

resolveSearchQueryTokensパイプラインは、検索フィルターを追加するために使用されます。このパイプラインは、Sitecore.XA.Foundation.Search.configファイルで定義されています。デフォルトでは、次のトークンを使用できます。

  • TaggedTheSameAsCurrentPage|SxaTags

  • TaggedWithAtLeastOneTagFromCurrentPage|SxaTags

  • UnderCurrentPage

  • ExcludeCurrentPage

  • ItemsOfTheSameTemplateAsTheCurrentPage

  • ItemsWithTheSameValueInField|FieldName

resolveBoostingQuery

resolveBoostingQueryパイプラインは、独自の検索ブースティング ルールを記述し、SXAで使用するために使用できる拡張ポイントを追加するために使用されます。これを行うには、独自のカスタムルールを作成し、resolveBoostingQuerypipelineを使用してクエリに変換します。このパイプラインはSitecore.XA.Foundation.Search.configファイルで定義され、次のプロセッサが含まれています。

resolveBoostingQuery
    processor type="Sitecore.XA.Foundation.Search.Pipelines.ResolveBoostingQuery.ResolveFieldAndQueryMatchRule, Sitecore.XA.Foundation.Search" resolve="true" /
/resolveBoostingQuery
この記事を改善するための提案がある場合は、 お知らせください!