レンダリングバリアント用のカスタムトークンを作成します

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

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

SXAレンダリングバ リアントを使ってコンポーネントのレンダリング方法を変えることができます。レンダリングバリアントを素早く拡張したい場合は、カスタムresolveVariantTokensパイプラインを使ってバリアントトークンのセットを拡張できます。

カスタムトークンは、特定のフィールド値をフォーマットしたり、通常のレンダリングバリアントアイテムでは得られない複雑なデータを公開するのに役立ちます。例えば、Sitecoreのアイテムの値に変換を行う場合などです。これは、例えばPageListコンポーネントのレンダリングバリアントで親アイテムフィールドを表示したい場合に便利です。

レンダリングバリアント用のカスタムトークンを作成するには:

  1. resolveVariantTokensパイプラインに追加のプロセッサを追加して、自分だけのトークンを定義します。まず、トークンプロセッサを作成します。例えば、$parentName:

    public class ResolveParentName : ResolveVariantTokensProcessor { public override string Token => "$parentname";

    public override void ResolveToken(ResolveVariantTokensArgs args) { // this if statement is quite important in order to support this token in JSON Variants if (args.ResultControl != null) { args.ResultControl.Controls.Add(new LiteralControl { Text = args.ContextItem.Parent.Name }); } else { args.Result = args.ContextItem.Parent.Name; } } }

  2. resolveVariantTokensパイプラインにプロセッサを登録します:

    pipelines

  3. トークンを適用するには、コンテンツエディターで追加したいレンダリングバリアントに移動し、トークン フィールドの$キーを使ってカスタムトークンを入力します。

    SXA-token.png
この記事を改善するための提案がある場合は、 お知らせください!