How can we improve Sitecore?

Always save standard values rendering field as a delta of its base template rendering field

By default, Sitecore doesn't support rendering inheritance for templates standard value items.

Scenario: TemplateA has a standard values items with presentation details defined ("__renderings" field defined). I create a templateB inheriting templateA. By default, templateB "__renderings" field is empty, so its inheriting templateA rendering. If I change templateB presentation details, Sitecore copies templateA "__rendetings" field value, apply changes to it, and saves the result in templateB "__renderings" field. By doing so, Sitecore is breaking the rendering inheritance. From now on, any change to templateA presentation details won't be reflected in templateB.

A simple solution exists and is already used at some levels in Sitecore. It is named layout deltas. If Sitecore would save a layout delta in the templateB "__renderings" field, it wouldn't break the rendering inheritance.

There are a couple of blog posts with workarounds to get the desired behavior. Here's an example: https://www.cognifide.com/our-blogs/sitecore/complex-layouts-in-sitecore-using-standard-values-hierarchy/

It would be very nice if Sitecore would use layout deltas out of the box.

20 votes
Sign in
(thinking…)
Password icon
Signed in as (Sign out)

We’ll send you updates on this idea

Jean-Francois L'Heureux shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

2 comments

Sign in
(thinking…)
Password icon
Signed in as (Sign out)
Submitting...
  • Ivan Lieckens commented  ·   ·  Flag as inappropriate

    Have a look at Sitecore.XA.Foundation.Presentation.EventHandlers.LayoutInheritance, I believe this covers your requirement...

  • Jean-Francois L'Heureux commented  ·   ·  Flag as inappropriate

    In fact, layout deltas should also be used for normal items "__renderings" field to avoid breaking rendering inheritance with their template.

Feedback and Knowledge Base