フィールド タイプ コンバーターを追加する

Current version: 5.0

Sitecore CMP は、マッピングを使用して Sitecore Content Hub と Sitecore の間でアイテムをマッピングします。このマッピング変換は、エンティティ フィールド名を使用してエンティティ フィールドを Sitecore のアイテム フィールドにマッピングするフィールド マッピング アイテムと連携して機能します。

マッピング変換は、デフォルトで次のプロパティ タイプに対して設定されています。

  • Strings: テキスト フィールドを Sitecore のテキスト フィールドに同期します。

  • DateTime: 日付/時刻を Sitecore の日付/時刻フィールドに同期します。

  • DateTimeOffset: DateTime 値と一緒に、現在の DateTimeOffset インスタンスの日時と協定世界時 (UTC) の時差を定義する Offset プロパティが含まれています。

Sitecore.Connector.CMP.config ファイルに定義されている属性タイプは、Sitecore.Connector.CMP.Conversion.ICmpConverterMapper インターフェイスを実装します。このインターフェイスは、DI を使用して最後の SaveFieldValues 手順で cmp.importEntity パイプラインに挿入されます。

タイトル フィールドや件名フィールドなど、別のフィールドをマッピングすることもできます。この場合は、Sitecore CMP を使用して、新しいフィールド タイプ コンバーターを設定できます。

フィールド タイプ コンバーターを追加するには、次の手順を実行します。

  1. Sitecore.Connector.CMP.config ファイルを開きます。

  2. カスタム フィールド タイプ コンバーターを [converters] セクションに追加します。フィールド タイプ コンバーターには、以下の属性を含める必要があります。

    • propertyDefinitionType: Stylelabs.M.Sdk.Contracts.Base.IPropertyDefinition インターフェースの継承のみを含めることができます。

    • type: Sitecore.Connector.CMP.Conversion.IPropertyValueConverter インターフェースを継承するタイプ名のみを含めることができます。

    例:

    RequestResponse
    
     <cmp.fieldConverterMapper type="Sitecore.Connector.CMP.Conversion.CmpConverterMapper, Sitecore.Connector.CMP" resolve="true">      
        <converters hint="raw:AddConverter">        
        <!-- 
            propertyDefinitionType - can only contain type names that inherit Stylelabs.M.Sdk.Contracts.Base.IPropertyDefinition interface.          
            type - can only contain type names that inherit Sitecore.Connector.CMP.Conversion.IPropertyValueConverter interface.        
        -->        
    
            <add propertyDefinitionType="Stylelabs.M.Sdk.Models.Base.PropertyDefinitions.StringPropertyDefinition, Stylelabs.M.Sdk" type="Sitecore.Connector.CMP.Conversion.StringPropertyValueConverter, Sitecore.Connector.CMP"/>        
            <add propertyDefinitionType="Stylelabs.M.Sdk.Models.Base.PropertyDefinitions.DateTimePropertyDefinition, Stylelabs.M.Sdk" type="Sitecore.Connector.CMP.Conversion.NullableDateTimePropertyValueConverter, Sitecore.Connector.CMP"/>        
            <add propertyDefinitionType="Stylelabs.M.Sdk.Models.Base.PropertyDefinitions.DateTimeOffsetPropertyDefinition, Stylelabs.M.Sdk" type="Sitecore.Connector.CMP.Conversion.NullableDateTimeOffsetPropertyValueConverter, Sitecore.Connector.CMP"/>      
        </converters>    
    </cmp.fieldConverterMapper>
    

Do you have some feedback for us?

If you have suggestions for improving this article,