Anders Hattestad
Oct 25, 2011
visibility 4504
star star star star star
(2 votes)

Change page properties caption and help text when using PageTypeBuilder

I have some web administrators that would like to change the caption and help text for the page properties. This could be done using the xml files in lang/ folder. But since it’s a one language site and the actually editing in these xml files is a bit hassle I have wrote a admin plugin that do this for me.

The concept is that I change the EditCaption and HelpText for the property after PageTypeBuilder have set those to the default values.

This can be done by using the ModuleDependency attribute on the start up class like this.

  1. [EPiServer.Framework.ModuleDependency(typeof(PageTypeBuilder.Initializer))]
  2. public class AttachEvent : IInitializableModule
  3. {
  4.     #region IInitializableModule Members
  5.     static EPiServer.PageEventHandler DefaultHandler = new EPiServer.PageEventHandler(Instance_LoadedDefaultPageData);
  6.     public void Initialize(EPiServer.Framework.Initialization.InitializationEngine context)
  7.     {
  8.         PageTypeDefinitionsData.UpdatePageDefinition();
  9.         EPiServer.DataFactory.Instance.LoadedDefaultPageData += DefaultHandler;
  10.     }

I have therefore a DSS store

Code Snippet
  1. [EPiServerDataStore(AutomaticallyRemapStore = true, AutomaticallyCreateStore = true)]
  2. public class PageTypeDefinitionsData : IDynamicData
  3. {
  4.     public EPiServer.Data.Identity Id { get; set; }
  5.     public int PageDefinitionID { get; set; }
  6.     public string Name { get; set; }
  7.  
  8.     public string EditCaption { get; set; }
  9.     public string HelpText { get; set; }
  10.  
  11.     public string Old_EditCaption { get; set; }
  12.     public string Old_HelpText { get; set; }

where I save the old caption and help text right after PageTypeBuilder have set them. I can therefore if my administrators remove the caption use the old value instead. I then store the new caption and help text in the DSS using this admin interface

image

So when I change the EditCaption like this

image

The property caption will change, and the caption will be remembered.

image

Joel wrote that 1.9.3 of PageTypeBuilder don’t override any settings not set in code, but edit caption is always set I think. The help text is not always set thou. But I like to write in a help text, but that text sure need some finishing.

See full code here

Oct 25, 2011

Comments

smithsson68@gmail.com
smithsson68@gmail.com Oct 26, 2011 08:26 AM

What is this "DSS" store you keep using? ;-)

Anders Hattestad
Anders Hattestad Oct 26, 2011 08:43 AM

Lol :) guess my spell checker is a bit off:)

Oct 26, 2011 09:24 AM

Great post! Thanks for sharing Anders.

error Please login to comment.
Latest blogs
Building an experience with Visual Builder in Optimizely CMS 13

Visual Builder changes how we can think about campaign pages, landing pages and other highly curated editorial experiences in Optimizely CMS. Inste...

Pär Wissmark | Jul 2, 2026 |

LanguageMaster! From Managing to Mastering Languages!

Two years ago, I released my first Optimizely add-on . It was an extension to the Labs.LanguageManager tool from Optimizely that allowed the user t...

Matt Pallatt | Jul 2, 2026

List Properties of a Optimizely Content Type programmatically

Properties are simply fields used to create a content type in Optimizely. Lets explore how to get a list of properties of a specific content type...

Akash Borkar | Jul 2, 2026

Optimizely CMS SaaS – Chrome Extension to Stop Accidentally Editing Production

If you work with Optimizely CMS SaaS across multiple clients, you know the anxiety — multiple tabs, multiple environments, and one wrong edit away...

Kiran Patil | Jul 1, 2026 |