How to Change the Campaign Item Display Template
For the latest version of Commerce Server 2007 Help, see the Microsoft Web site.
You can use the Marketing APIs to create and change campaign item display templates.
To create the campaign item display template
Create a MarketingServiceAgent object.
Create a MarketingContext object.
Create a DisplayTemplate object.
Add the properties.
Save the template by using the Save method on the DisplayTemplate object.
To change the campaign item display template
Get the DisplayTemplate object. To do this, use the GetDisplayTemplate method of the DisplayTemplates property of the MarketingContext object.
Update the properties.
Save the template by using the Save method on the DisplayTemplate. object.
Example
The following sample demonstrates how to create a new campaign item, update an existing template, and display the template.
using System;
using Microsoft.CommerceServer.Marketing;
namespace ConsoleApplication1
{
// This code requires you to add the following references:
// Microsoft.CommerceServer.CrossTierTypes
// Microsoft.CommerceServer.Marketing.CrossTierTypes
// Make sure that your user account has sufficient Marketing permissions to perform
// these operations.
class Program
{
static void Main(string[] args)
{
try
{
// Set the url to the Web service.
string campaignServiceUrl = @"https://localhost/MarketingWebService/MarketingWebService.asmx";
// Create an instance of the Marketing System agent
MarketingServiceAgent ma = new MarketingServiceAgent(campaignServiceUrl);
MarketingContext marketingSystem = MarketingContext.Create(ma);
// Create a new template.
DisplayTemplate template = marketingSystem.DisplayTemplates.NewDisplayTemplate();
template.Name = "Your template name1";
string dpName1 = "Your template property name";
template.Properties.Add(new DisplayProperty(dpName1));
template.Save();
// Success!
Console.WriteLine("Successfully created template: {0}", template.Name);
Console.WriteLine("It has the following properties:");
foreach (DisplayProperty displayprop in template.Properties)
{
Console.WriteLine(displayprop.Name);
}
// Update an existing template.
int id = template.Id;
template = marketingSystem.DisplayTemplates.GetDisplayTemplate(id);
string name = "Your template name2";
template.Name = name;
string text = "Your template text.";
template.Text = text;
string dpName2 = "Your template second property name";
DisplayProperty dp = new DisplayProperty(dpName2);
template.Properties.Add(dp);
template.Save();
// Success!
Console.WriteLine("\r\nSuccessfully updated template: {0}", template.Name);
Console.WriteLine("It has the following properties:");
foreach (DisplayProperty displayprop in template.Properties)
{
Console.WriteLine(displayprop.Name);
}
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine("Exception: {0}\r\nMessage: {1}", ex.GetType(), ex.Message);
if (ex.InnerException != null)
{
Console.WriteLine("\r\nInner Exception: {0}\r\nMessage: {1}", ex.InnerException.GetType(), ex.InnerException.Message);
}
Console.ReadLine();
}
}
}
}