Keyboard - Alpha Solutions

I dette Tech Tip deler vi en kode til, hvordan du kan oprette nye e-mail skabeloner ved hjælp af Notifications API i Sitecore Content Hub.

12.2.20

AF NIKET ASHESH

Sitecore Content Hub e-mail er et praktisk værktøj til at notificere brugere. Som standard får du en række pre-konfigurerede e-emails. Du kan naturligvis tilpasse Content Hub email templates, så de passer til din virksomheds branding.

Content Hub giver dig også mulighed for at tilføje nye e-mailskabeloner ved hjælp af Notifications API.

Min foretrukne metode er at oprette en skabelon ved hjælp af SDK. Her er koden, der har fungeret for mig:

CultureInfo enUs = CultureInfo.GetCultureInfo("en-US");

                IMailTemplate template = await
client.EntityFactory.CreateAsync("M.Mailing.Template") as IMailTemplate;
                template.Name = "Email Template Name";
                
                template.SetSubject(enUs, "Subject");
                template.SetBody(enUs, "Body with some variables <a
href=\"{{assetLink}}\">Link to {{fileName}}</a>"
);
                var fileNameVariable = new TemplateVariable
                {
                    Name = "fileName",
                    VariableType = TemplateVariableType.String
                };
                var assetLinkVariable = new TemplateVariable
                {
                    Name = "assetLink",
                    VariableType = TemplateVariableType.String
                };
                template.SetTemplateVariables(new[] { fileNameVariable, assetLinkVariable
});

                long entityId = await client.Entities.SaveAsync(template);
                var entity = await client.Entities.GetAsync(entityId);
                if (entity != null)
                {
                    var label = await
entity.GetPropertyAsync<ICultureSensitiveProperty>("M.Mailing.TemplateLabel");
                    label.SetValue(enUs, "Subject");
                    var description = await
entity.GetPropertyAsync<ICultureSensitiveProperty>("M.Mailing.TemplateDescription");
                    description.SetValue(enUs, "Subject");
                    await client.Entities.SaveAsync(entity);
                }