Supporting Experience Editor with Placeholders

Written 10/25/2017

When you are creating a Sitecore website, you should surely focus on the end user experience, but just as important, you should also focus on creating a nice and user friendly experience for the editors of the website. There are several tips and tricks, which can be used to make it easy for the editor to work with the content of the website. Basically you should always strive to support the experience editor in the best possible way.

Page structure

Normally, as a developer, you will build up a page by binding components to placeholders. Placeholders are Sitecore controls that specify a unique key. Most of you have probably tried to work with Sitecore in web forms, where you were able to insert a placeholder like this:

<sc:Placeholder Key="spots" runat="server" /> 

In Sitecore MVC, we define our placeholders using the Sitecore HTML helper:


Placeholder Setting Items

If you add a placeholder to a layout, and you look at the experience editor, you will find that the placeholder is not visible. In some scenarios, you would probably want the placeholder to be visible to the editor, even though it has not been populated with content yet. You can still add components to the placeholder, by using the presentation details dialog, but let us aim for a better solution, where the editor can add components easily from the experience editor. To make a placeholder visible in the Experience Editor, you can create a placeholder settings item.
Placeholder settings items are located under /sitecore/Layout/Placeholder Settings
After you create a Placeholder Settings item, you will need to provide a value to the field named Placeholder Key.
The value of this field should be the same as the key value of the placeholder, you have in your layout.
The match of the value in your Placeholder Settings item and the value of placeholder made in a Sitecore HTML helper is not case sensitive. When you have created the Placeholder Settings Item, the placeholder will appear as a square with a checkered background in the Experience Editor.

Naming conventions

It is good practice to give your placeholder settings items the same name as the key they represent.
You should also make it easy for editors to distinguish placeholders from components in the presentation hierarchy.
The presentation hierarchy is one of the most difficult things for the editor.
So you should use names for your placeholders, which clearly states that it is a placeholder, and not a component. Many developers also use lowercase names for their placeholders, while Components can be written in camel case. In that way, you will train your editor to distinguish between placeholder names and component names just by looking at the casing.