値アクセスコンバータを実装してください
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
値アクセサ項目の設定をプラグインに変換できるコンバーターを作成する必要があります。その後、バリューアクセサテンプレート上でコンバーターを指定して、パイプラインステップを読み取るエンドポイントを特定できます。
コンバーターを作成するには:
-
Visual Studioで、次のクラスを追加します:
using Sitecore.DataExchange.Attributes; using Sitecore.DataExchange.Converters.DataAccess.ValueAccessors; using Sitecore.DataExchange.DataAccess; using Sitecore.DataExchange.DataAccess.Readers; using Sitecore.DataExchange.DataAccess.Writers; using Sitecore.DataExchange.Repositories; using Sitecore.Services.Core.Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace Examples.DataExchange.Providers.FileSystem { SupportedIds(ArrayValueAccessorTemplateId) public class ArrayValueAccessorConverter : ValueAccessorConverter { public const string ArrayValueAccessorTemplateId = "ARRAY VALUE ACCESSOR TEMPLATE ID"; public const string TemplateFieldPosition = "Position"; public ArrayValueAccessorConverter(IItemModelRepository repository) : base(repository) { } protected override IValueReader GetValueReader(ItemModel source) { var reader = base.GetValueReader(source); if (reader == null) { var position = this.GetIntValue(source, TemplateFieldPosition); if (position < 0) { return null; } reader = new ArrayValueReader(position); } return reader; } protected override IValueWriter GetValueWriter(ItemModel source) { var writer = base.GetValueWriter(source); if (writer == null) { var position = this.GetIntValue(source, TemplateFieldPosition); if (position < 0) { return null; } writer = new ArrayValueWriter(position); } return writer; } } }
!重要ARRAY VALUE ACCESSOR TEMPLATE IDの値を、前のステップで作成した値インセクターテンプレートのArray Value AccessorのIDと一致させる必要があります。
-
プロジェクトをコンパイルします。
-
Examples.DataExchange.Providers.FileSystem.dllをSitecoreサーバーにデプロイしてください。