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

Customizing the publishItem pipeline to avoid duplicate names on a live site


Sitecore has a very powerful publishing architecture, which is perfect for almost all cases, but sometimes, we may need to override the publishing engine as per our requirement. The <publishItem> pipeline contains many processors playing different roles in publishing items.

A very common challenge in Sitecore is to deal with duplicate item names in a single parent. In this recipe, you will learn how we can achieve a unique item name in a single parent after publishing.

How to do it…

We will create a custom processor in the <publishItem> pipeline:

  1. In the SitecoreCookbook project, create a RemoveDuplicateItems class in the Publishing folder and inherit it from PublishItemProcessor.

  2. Override the Process() method of the PublishI temProcessor class:

    public override void Process(PublishItemContext context)
    {
      Item sourceItem = context.PublishHelper.GetSourceItem(context.ItemId);
      if (sourceItem != null) {
       ...