1

Environment: Sitecore 9.0.2 + SXA 1.7.1

What I have done: I created a partial design, say PartialD1. In the 'main' placeholder of the PartialD1, i added a column splitter generating 2 placeholders 'left1' and 'right1'. On the 'left1', I added a navigation link.

Further I created a new page design PageD1. I added the PartialD1 on PageD1. I have created a page on this PageD1.

What is happening: I have opened this page in the experience editor. I am able to add renderings to the 'right1' of the column splitter but not on the 'left1'.

What I was expecting: I know that by design we cannot modify partial design items from page. But I was expecting that I will be able to add renderings on the placeholder in the left side of the splitter, left1 as I was able to add on 'righ1'.

Any ideas will be helpful.

  • 1
    Have you tried adding a container to the left column? – Michael West Mar 20 at 12:47
  • @MichaelWest: No I didn't tried with container. Will give it a shot and let you know. Thanks – NutsAndBolts Mar 20 at 18:11
3

Once you use a placeholder in the Partial design, be becomes locked into that partial design, you can no longer add components to that placeholder on the page directly.

The work around for this would be to add containers in the left1 column, above and below (or just one of those, depending on where you want to left content editors add components) the navigation link.

Caveat: The explanation below is based on de-compiling the code and working out what is going on and then drawing conclusions from that :) Maybe the SXA team can confirm/give the real reason why this is the case :)

This is down to how the rendering field holds its values. The __Final Renderings field on the page, only holds the presentation that is added on the page, it doesn't have the XML fragment from the partial, that is merged together when the page is rendered. So, the Experience Editor would not be able to set the ordering correctly when you are adding/moving components around. In your case, the page would not have the XML fragment for the Navigation Link component, so there would be no way for Sitecore to know where to put the new XML fragment for your added component.

Interestingly, you can create the partial, add components to the page, then go back into the partial and add a component to the placeholder. This will work, but may be tricky to order the components in that placeholder, and once you add the component in the partial, you can't add anything in the Page anymore.

Hope that makes sense?

  • Thanks for the explaination. I will try it. – NutsAndBolts Mar 20 at 18:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.