カスタムメッセージタイプクラスの作成
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Email Experience Managerコンポーネントは、開発者がカスタムタイプのメッセージアイテムを作成・使用できるようにします。デフォルトのEXMメッセージタイプは、TypeResolverクラスによってコード内の適切なクラスにマッピングされます。カスタムメッセージタイプクラスを使用するには、メッセージタイプを正しくマッピングするためのカスタムタイプリゾルバも作成する必要があります。
カスタムメッセージタイプクラスを作成するには:
-
MessageItemクラスまたはその子孫のいずれかからカスタムメッセージタイプクラスを導出します:
- TextMail級
- HtmlMail級
- WebPageMail級
- ABTestMessage級
-
新しいメッセージタイプのメッセージテンプレートを定義します。
-
カスタムメッセージタイプクラスのClone() メソッドを上書きしないと、ディスパッチ中に失敗します。
-
Sitecore.Modules.EmailCampaign.Core.TypeResolverクラスからカスタム型リゾルバクラスを導出します。
-
Sitecore。EmailExperience.Core.configファイルで、カスタムタイプリゾルバーでexm/typeResolver設定にパッチを当ててください。
-
TypeResolverクラスから派生したクラスのGetCorrectMessageObjectメソッドを上書きします。
例:
public class NewMail : MessageItem { public static bool IsCorrectMessageItem(Item item) { return ItemUtilExt.IsTemplateDescendant(item, TemplateIds.NewMessageTemplate); } ... } public class NewTypeResolver : TypeResolver { public override MessageItem GetCorrectMessageObject(Item item) { var result = NewMail.FromItem(item); return result != null ? result : base.GetCorrectMessageObject(item); } ... }