1. SXAの拡張

コンテンツトークン

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

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

コンテンツトークンは テキストや数字の行を再利用できます。例えば価格、著作権表示、バージョン番号、場所などを再利用したい場合に便利です。コンテンツトークンはキーと値を持つコンテンツアイテムで、他の項目のフィールドで参照できます。それらはSXAサイトのDataフォルダに保存されています: sitecore/Content///Data

コンテンツトークン置換のロジックは、renderFieldパイプラインのRenderContentTokenプロセッサで実装されています。リッチテキスト、シングルラインテキスト、多行テキストフィールドで、$キーとコンテンツトークン名を括弧内で表示することで、コンテンツトークンを参照できます。

コンテンツトークンを挿入すると、キー値とグレーの背景で認識できます。

Content token in gray.

HTMLでは、いくつかの追加属性が付いたスパンでラップされています。リッチテキストエディタのHTMLでは、以下のようにコンテンツトークンを挿入することが可能です。

Parking

この場合、RenderContentTokenプロセッサは全体スパン要素を、IDでマッチしたコンテンツトークンの関連する値に置き換えます。さらに、リッチテキスト、単行テキスト、多行テキストフィールドの$(キー)としてコンテンツトークンを使うこともできます。このアイテムは以下の検索クエリの結果として取得されます:

ID itemId = Context.Database.DataManager.DataSource.SelectIDs(Templates.ContentToken.Fields.Key, variableKey).FirstOrDefault(); Item item = Context.Database.GetItem(itemId);

このクエリに対して複数の結果がある場合、いずれかの結果が返され、その値はテキストに入力されます。

論理を変えるには、次のことをしなければなりません:

  1. renderFieldパイプラインのRenderContentTokenプロセッサを実装するカスタムプロジェクトを作成します。

  2. GetTextVariableValue関数を書き直し、コンテンツトークンアイテムマッピングのカスタムロジックを追加してください。

  3. dllをウェブサイトのbinフォルダに組み込みます。

  4. 設定ファイルを修正し、カスタムプロセッサで次のプロセッサを書き換えます:

    設定ファイルがshowconfig.aspxページを正しく使っているか必ず確認してください。

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