Modify message templates
To modify a specific message template, you use the NewslettersManager class. First, you initialize the NewslettersManager. Then, you get the specified message template. Finally, you modify the title and the body text, and save the changes.
The following code modifies a plain text message template through the Native API:
-
The following code modifies a page-like message template through the Native API:C#
using Telerik.Sitefinity.Modules.Newsletters; using Telerik.Sitefinity.Newsletters.Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.EmailCampaigns.MessageBodies { public partial class EmailCampaignsSnippets { public void ModifyMessageBody(Guid id, string newName, string newBodyText) { NewslettersManager manager = NewslettersManager.GetManager(); MessageBody messageBody = manager.GetMessageBodies().Where(b => b.Id == id).SingleOrDefault(); if (messageBody != null) { messageBody.Name = newName; messageBody.BodyText = newBodyText; manager.SaveChanges(); } } } } -
C#
using System.Linq; using Telerik.Sitefinity.Modules.Newsletters; using Telerik.Sitefinity.Modules.Newsletters.Web.UI; using Telerik.Sitefinity.Modules.Pages; using Telerik.Sitefinity.Pages.Model; namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.EmailCampaigns.MessageBodies { public partial class EmailCampaignsSnippets { public static void UpdateMessageBodyByName(string templateName) { // Get Newsletters Manager and Newsletters Page Manager PageManager newsLettersPageManager = NewslettersManager.GetPageManager(); NewslettersManager newslettersManager = NewslettersManager.GetManager(); // Get message body var messageBody = newslettersManager.GetMessageBodies().Where(t => t.Name == templateName).FirstOrDefault(); // Get the message body as Page PageData pageData = newsLettersPageManager.GetPageData(messageBody.Id); var pageNode = newsLettersPageManager.GetPageNodes().Where(p => p.Id == pageData.Id).SingleOrDefault(); // Edit the Page var editPage = newsLettersPageManager.EditPage(pageNode.GetPageData().Id); if (pageData != null) { // Get all controls of type ContentBlock var contentItem = editPage.Controls.Where(c => c.Caption == "Content block").FirstOrDefault(); // Create new Content Block NewslettersContentBlock myNewContentItem = new NewslettersContentBlock(); // Get and Update the content var currentControl = newsLettersPageManager.LoadControl(contentItem) as NewslettersContentBlock; var innerHtml = currentControl.Html; myNewContentItem.Html = innerHtml + " -> your updated text goes here"; // Copy the properties of the current Content Block item to the newly created newsLettersPageManager.ReadProperties(myNewContentItem, contentItem); // Checking all changes to the Page newsLettersPageManager.PagesLifecycle.CheckIn(editPage); //Call the method to save editing newsLettersPageManager.SaveChanges(); } } } }
Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.
Get started with Integration Hub | Sitefinity Cloud
This free lesson teaches administrators, marketers, and other business professionals how to use Sitefinity Integration Hub to create automated workflows between Sitefinity and other business systems.
Web Security for Sitefinity Administrators
This free lesson teaches administrators the basics about protecting your Sitefinity instance and your sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.
Foundations of Sitefinity ASP.NET Core Development
The free on-demand video course teaches developers how to use Sitefinity ASP.NET Core and take advantage of its decoupled architecture and modern development model.