Anders Hattestad
Oct 25, 2011
visibility 4527
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
Optimizely Commerce 14 Now Supports .NET 10

In my previous post, Optimizely CMS 12 Now Fully Supports .NET 10 , I noted one remaining limitation: Commerce 14 (Commerce Connect) did not yet...

Bien Nguyen | Aug 7, 2026

The Top 10 Things I'm Actually Using AI For

A while back I wrote about ReviewPR, an Azure Function that uses AI to review Azure DevOps pull requests. That was one specific use case, but over...

KennyG | Aug 5, 2026

Drag-and-Drop Reordering for Commerce Media Collection in Optimizely Commerce Connect

Optimizely Commerce Connect ships a polished asset editor for the CommerceMediaCollection  property on catalog entries. It lets editors add, remove...

Linh Doan Cuu | Aug 5, 2026

Order tabs with drag and drop V2

I earlier did a very simple Blazor version to be able to sort tabs with drag and drop. I wanted to update it a bit and also display how the tabs ar...

Per Nergård (MVP) | Aug 4, 2026