レンダリングバリアント用のカスタムトークンを作成します
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
SXAレンダリングバ リアントを使ってコンポーネントのレンダリング方法を変えることができます。レンダリングバリアントを素早く拡張したい場合は、カスタムresolveVariantTokensパイプラインを使ってバリアントトークンのセットを拡張できます。
カスタムトークンは、特定のフィールド値をフォーマットしたり、通常のレンダリングバリアントアイテムでは得られない複雑なデータを公開するのに役立ちます。例えば、Sitecoreのアイテムの値に変換を行う場合などです。これは、例えばPageListコンポーネントのレンダリングバリアントで親アイテムフィールドを表示したい場合に便利です。
レンダリングバリアント用のカスタムトークンを作成するには:
-
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; } } }
-
resolveVariantTokensパイプラインにプロセッサを登録します:
pipelines
-
トークンを適用するには、コンテンツエディターで追加したいレンダリングバリアントに移動し、トークン フィールドの$キーを使ってカスタムトークンを入力します。
