Book Image

Sitecore Cookbook for Developers

By : Yogesh Patel
Book Image

Sitecore Cookbook for Developers

By: Yogesh Patel

Overview of this book

This book will get you started on building rich websites, and customizing user interfaces by creating content management applications quickly. It will give you an insight into web designs and how to customize the Sitecore architecture as per your website's requirements using best practices. Packed with over 70 recipes to help you achieve and solve real-world common tasks, requirements, and the problems of content management, content delivery, and publishing instance environments. It also presents recipes on Sitecore’s backend processes of customizing pipelines, creating custom event handler and media handler, setting hooks and more. Other topics covered include creating a workflow action, publishing sublayouts and media files, securing your environment by customizing user profiles and access rights, boosting search capabilities, optimising performance, scalability and high-availability of Sitecore instances and much more. By the end of this book, you will have be able to add virtually limitless features to your websites by developing and deploying Sitecore efficiently.
Table of Contents (20 chapters)
Sitecore Cookbook for Developers
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Restricting or swapping rendering controls on placeholders


While adding renderings from the Experience Editor, by default, it allows you to add all the renderings from the /sitecore/layout/Renderings folder. However, just imagine how difficult it would be for content owners to choose a logically valid and compatible rendering from the huge list.

In this recipe, you will learn how we can show a template-specific list of the allowed and placeholder-compatible renderings from the Experience Editor.

Getting ready

We have the main-content placeholder placed on all pages of the website. We want to restrict content authors to use Carousel, Highlight Featured Products, and Highlight News renderings only on the Home page. Similarly, for the Products landing page, we will restrict them to use Carousel and Highlight Featured Products renderings only. This recipe assumes that you have created the mentioned renderings.

How to do it…

Here, we will first override placeholder settings for the data template of the Home page:

  1. From the Content Editor, select standard values of the Site Root template. Open the Placeholder Setting dialog from the Device Editor. Remove any placeholder settings, if any. Create a new setting.

  2. Set the Name to Home Content and the Placeholder Key field to our main-content placeholder key. In the Parent field, select the main content placeholder setting that we have already created. Here, select the required renderings from the Allowed Controls field:

  3. Open the Home page in the Experience Editor. Add the renderings to it; you will find that only the preceding selected renderings will be available to pick, as shown in the following image:

  4. In the same way, you can apply these settings to standard values on Product or any other template, as per your requirement.

How it works…

Once you create this placeholder setting, you will find a new item created in the main content placeholder setting item, where you will find all the selected renderings in the Allowed Controls field:

You can also change placeholder settings from the Experience Editor by clicking on the highlighted button in the floating bar of the placeholder, as shown in the following image:

You learned how to place allowed controls on placeholders. Sitecore renderings have a Compatible Renderings field, as shown in the following image, where you can select compatible renderings to a particular rendering. So, while replacing any rendering from the Experience Editor, it will allow you to choose renderings from the selected compatible renderings only. For example, as shown in the following image, Sitecore will allow you to replace Carousel rendering with Banner rendering only. You can learn more about it at http://goo.gl/Tk5ybI: