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

Creating a gutter to show unpublished items


In the Content Editor, the left margin of the content tree is known as gutter. This area contains icons that can be used to display the status or type of the corresponding item and icons can be toggled on or off.

Let's create a custom gutter icon to identify unpublished items so that we will be able to know the publishing status of all expanded items very easily.

How to do it…

  1. In the SitecoreCookbook project, create a PublishGutter class in the Gutters folder, and inherit it from the Sitecore.Shell.Applications.ContentEditor.Gutters.GutterRenderer class.

  2. Add enum PublishStatus to show the publishing status as follows:

    enum PublishStatus
    {
      Published, NeverPublished, Modified
    }
  3. Add the CheckPublishStatus() method to know the publishing status of the current item:

    private PublishStatus CheckPublishStatus(Item currentItem)
    {
      Database webDB = Factory.GetDatabase("web");
      Item webItem = webDB.GetItem(currentItem.ID);
      if (webItem == null)
        return PublishStatus...