ResolveマルチランゲージSitecoreアイテム辞書および選択言語パイプラインのステップ
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
パイプラインでは、選択されたすべての言語バージョンでアイテムを解決するためにResolve Multilanguage Sitecore Item Dictionaryパイプラインステップを使用できます。このパイプラインステップはSelect Languagesパイプラインステップと併用しなければなりません。
両方のパイプラインステップのテンプレートは /sitecore/templates/Data Exchange/Providers/Sitecore/Pipeline Stepsで見つけることができます。
セレクト言語パイプラインの構成ステップ
パイプラインの最初にこのパイプラインステップを使います。
パイプラインステップで以下の情報を設定できます:
- Languages – パイプラインステップが解決時にアイテムから取得する言語のリストです。Sitecoreに追加した言語を選択できます。
この情報はパイプラインコンテキスト上で設定します。パイプラインコンテキスト内のすべての多言語パイプラインステップに適用されます。
ResolveマルチランゲージSitecoreアイテム辞書パイプラインの設定ステップ
Resolve Multilanguage Sitecore Item Dictionaryパイプラインステップで以下の情報を設定できます:
セクション
フィールド
概要
新しいアイテムを作成する
DoNotCreateItemIfItDoesNotExist
これを選択すると、そのアイテムはメモリ内のみで作成されます。クリアすると、サーバー上で即座にアイテムが作成されます。
TemplateForNewItem
Parent For Itemフォルダにアイテムが存在しない場合は、このテンプレートを使って作成します。
アイテムネームバリューアクセス
新しい項目の名前を決定するために使われた値アクセス器。
エンドポイント
エンドポイントから
データを読み取るエンドポイント。こちらから Sitecore Item Model Repository エンドポイントを選択してください。
識別子
IdentifierValueAccessor
Value AccessorはIdentifier Objectから識別子の値を読み取るために使われました。その値は MatchingFieldValueAccessorの値と比較されます。
識別子オブジェクト位置
識別子の値を読み取るオブジェクトの場所です。例えば、 Pipeline Context Source のxConnectコンタクトを使い、 xConnect First Name Property on Personal Info Facet 値のアクセサで読み取ることができます。
ValueReaderToConvertIdentifierValueForComparison
識別子の値が他の値と比較できる形式に変換するためのコンポーネントです。 IdentifierValueAccessor のリターンタイプが MatchingFieldValueAccessor のリターンタイプと一致しない場合は、この方法を使用しなければなりません。
オブジェクト解像度
ResolvedObjectLocation(リゾブドオブジェクトロケーション)
アイテムが解決または作成された場合、この場所に追加され、その後のパイプラインステップで利用可能となります。
既存アイテムを探す
ParentForItem(親のためのアイテム)
解決する項目のルートフォルダーです。また、パイプラインステップが新しい項目を配置する場所でもあります。
例えば、これを sitecore/content/MyItems に設定すると、パイプラインはこのフォルダで既存のアイテムを検索します。もしアイテムが見つからなければ、 Myitemsの下に新しいアイテムを作成します。
ParentForItemLocation(親のためのアイテム位置)
これを使って、動的に作成されたフォルダにアイテムを解決または保存します。例えば、 Pipeline Context Sourceを選択した場合、パイプラインステップはソースパイプラインの場所からオブジェクトを取得し、Sitecoreアイテムに変換しようとし、このアイテムを親として使用することで ParentForItem 設定を上書きします。
場所を指定すると、その場所のオブジェクトがSitecoreのアイテムであれば、 ParentForItem フィールドで指定されたアイテムの代わりに、このアイテムが親として使われます。
マッチングフィールドバリューアクセサ
識別子値と照合するために使われるSitecoreアイテムフィールドの値のアクセサです。例えば、 Item Name Value Accessor を使って名前でアイテムを照合できます。その値は IdentifierValueAccessorの値と比較されます。
パイプラインステップロジック
パイプラインステップは以下のロジックを実行します。
- パイプラインステップはパイプラインコンテキストから選択されたすべての言語を取得します。
- パイプラインステップは、アイテムモデルリポジトリから各言語バージョンを要求し、それらをアイテムモデルとして辞書に格納します。
- パイプラインステップで言語バージョンを解決できず、 DoNotCreateIfExistingObjectNotFound 設定を選択している場合、パイプラインステップはそれをスキップします。それ以外の場合、言語を未検出言語コレクションに追加し、処理の最後に空のアイテムモデルを作成します。
- パイプラインステップが言語バージョンを解決していない場合、 RepositoryObjectStatus.DoesNotExist をパイプラインコンテキストに設定し、終了します。
- パイプラインステップが少なくとも1つの言語バージョンを解決できれば、 RepositoryObjectStatus.Exists をパイプラインコンテキストに設定します。