I am currently working on Episerver CMS 10.The structure of our website is suct that it contains global page and local page.
Local page inherits some of the content of global page.
We have inherit factory class which updates the local page if some changes are made in global page .
The issue I am facing is
I have "visible in menu"(Display in navigation) option which is a bool property in both pages.
so when the checkbox is checked or unchecked in global
of "Visible in menu" then only update the local page.
how can we detect if the "visible in menu" (display in navigation) is changed then update the
local page ?
I guess it should be possible to use the SavingContent event and load the published version of the page and compare it to the one being saved.
EDIT: I forgot one important thing in the code example below in the original post: .ToReferenceWithoutVersion() when loading the published page.
public static void SavingContent(object sender, ContentEventArgs e)
var page = e.Content as PageData;
if (page == null || ContentReference.IsNullOrEmpty(e.ContentLink))
var publishedPage = contentRepository.Get<PageData>(e.ContentLink.ToReferenceWithoutVersion());
if (page.VisibleInMenu != publishedPage.VisibleInMenu)
// Load local page and update it.
If you only want to do this for published pages you can use the PublishingContent event instead.