In our AEM 6.2 project, I ran to a scenario where I need to config a navigation in one page (let call this Homepage), all of the other pages can use home navigation config or use their own navigation config values.
I decided to use live copy because the clone pages can cancel the linked properties at any time and use their own values. But there is two problem with this approach:
- Users must set the template for clone pages by edit their jcr: content/sling:resourceType and jcr: content/cq: template because the navigation is used in all pages and our web uses about 5+ templates.
Live copy does no allowed clone pages are children of source pages. But I was required to make web structure like this :
Home |_ Page 1 |_ Page 1.1 |_ Page 2 |_ Page 3
Live copy maybe not suitable for this situation, we change to use HTL ${inheritedPageProperties}
, this solve the template and structure issue but it creates two new problems:
Inherited properties in property config dialog of child page will be blank (because they are not set and called via
${inheritedPageProperties}
)If users change properties in "Page 1" page, "Page 1.1" (and Page 1.1.1, etc ...) will use these values (Because
${inheritedPageProperties}
search the upper nodes to get value).
What our client want are :
- All page can use navigation setting only from the homepage or their own page (use home page by default).
- If use homepage properties, these values must show in their config dialog.
- Try to avoid config template in CRXDE Lite
- The website must have the parent-child structure
How can I achieve these requirements?
P1 -> P1.1 -> P1.1.1
you want P1.1.1 to inherit ONLY from P1 and override it if P1.1.1 has it's on values set? – Ahmed Musallam