「多言語Sitecoreアイテム ディクショナリの解決」パイプラインと「言語の選択」パイプラインのステップ

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

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

パイプラインでは、Resolve Multilanguage Sitecore Item Dictionaryパイプライン ステップを使用して、選択したすべての言語バージョンで項目を解決できます。このパイプライン ステップは、Select Languagesパイプライン ステップと共に使用する必要があります。

両方のパイプラインステップのテンプレートは、/sitecore/templates/Data Exchange/Providers/Sitecore/Pipeline Stepsにあります。

Select Languagesパイプラインステップの構成

このパイプラインステップは、パイプラインの先頭で使用します。

パイプラインステップでは、次の情報を設定できます。

  • Languages – パイプラインステップが解決したときに、パイプラインステップがアイテムから取得する言語のリスト。Sitecoreに追加した言語を選択できます。

この情報は、パイプライン コンテキストで設定します。これは、パイプライン コンテキスト内のすべての多言語パイプライン ステップに適用されます。

「多言語Sitecoreアイテム ディクショナリの解決」パイプライン ステップの設定

Resolve Multilanguage Sitecore Item Dictionaryパイプラインステップでは、次の情報を設定できます。

形容

Create New Item

DoNotCreateItemIfItDoesNotExist

これを選択すると、アイテムはメモリ内にのみ作成されます。クリアすると、アイテムはすぐにサーバー上に作成されます。

TemplateForNewItem

アイテムがParent For Itemフォルダーに存在しない場合は、このテンプレートを使用してアイテムが作成されます。

ItemNameValueAccessor

新しい項目の名前を決定するために使用される値アクセサー。

Endpoints

EndpointFrom

データを読み取るエンドポイント。ここでSitecore Item Model Repositoryエンドポイントを選択します。

Identifier

IdentifierValueAccessor

識別子オブジェクトから識別子の値を読み取るために使用される値アクセサ。値はMatchingFieldValueAccessorの値と比較されます。

IdentifierObjectLocation

識別子値の読み取り元となるオブジェクトのロケーション。たとえば、Pipeline Context SourceでxConnectコンタクトを使用し、xConnect First Name Property on Personal Info Facet値アクセサーを使用して読み取ることができます。

ValueReaderToConvertIdentifierValueForComparison

識別子の値を別の値と比較できる形式に変換するために使用されるコンポーネント。 IdentifierValueAccessor戻り値の型がMatchingFieldValueAccessor戻り値の型と一致しない場合は、これを使用する必要があります。

Object Resolution

ResolvedObjectLocation

アイテムが解決または作成されると、アイテムはこの場所に追加され、後続のパイプライン ステップで使用できるようになります。

Find Existing Item

ParentForItem

解決するアイテムのルート フォルダー。また、パイプライン ステップで新しいアイテムを配置する場所でもあります。

たとえば、これをsitecore/content/MyItemsに設定すると、パイプラインはこのフォルダーで既存の項目を検索します。アイテムが見つからない場合は、Myitemsの下に新しいアイテムが作成されます。

ParentForItemLocation

これを使用して、動的に作成されたフォルダーにアイテムを解決または格納します。たとえば、Pipeline Context Sourceを選択した場合、パイプライン ステップは ソース パイプラインの場所からオブジェクトを取得し、それをSitecoreアイテムに変換しようとして、このアイテムを親として使用するため、ParentForItem設定が上書きされます。

場所を指定し、その場所のオブジェクトがSitecoreアイテムである場合、ParentForItemフィールドで指定されているアイテムではなく、このアイテムが親として使用されます。

MatchingFieldValueAccessor

識別子の値を照合するために使用されるSitecoreアイテム フィールドの値アクセサー。たとえば、Item Name Value Accessorを使用してアイテムを名前で一致させることができます。値はIdentifierValueAccessorの値と比較されます。

パイプライン ステップ ロジック

パイプライン ステップでは、次のロジックが実行されます。

  • パイプライン ステップは、パイプライン コンテキストから選択したすべての言語を取得します。

  • パイプライン・ステップは、アイテム・モデル・リポジトリーから各言語バージョンを要求し、それらをアイテム・モデルとしてディクショナリーに保管します。

  • パイプライン ステップで言語バージョンを解決できず、DoNotCreateIfExistingObjectNotFound設定が選択されている場合、パイプライン ステップはスキップします。それ以外の場合は、欠落した言語コレクションに言語を追加して、処理の最後に空の項目モデルを作成します。

  • パイプライン ステップで言語バージョンが解決されていない場合は、RepositoryObjectStatus.DoesNotExistをパイプライン コンテキストに設定して終了します。

  • パイプライン ステップで少なくとも1つの言語バージョンを解決できる場合は、RepositoryObjectStatus.Existsをパイプライン コンテキストに設定します。

  • DoNotCreateIfExistingObjectNotFound」を選択していない場合、パイプラインステップでは、欠落しているすべての言語バージョンが空のアイテムモデルとして作成され、データをマッピングできます。

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