Skip to main content

Featured post

XM Cloud content sync from prod to uat or UAT to prod step by step

When working with Sitecore, it’s common to need content synchronization across environments. Today, I’ll walk you through the steps to sync content from Production to UAT/TEST and vice versa. Steps to Follow 1. Set Up Your Workspace Create a folder on your computer where you will manage the script files and exported data. Open the folder path in PowerShell to begin scripting. We need to run some scripts in PowerShell to update the folder with the basic requirements for syncing content. PS C:\Soft\ContentSync> dotnet new tool-manifest PS C:\Soft\ContentSync> dotnet nuget add source -n Sitecore https://nuget.sitecore.com/resources/v3/index.json PS C:\Soft\ContentSync> dotnet tool install Sitecore.CLI PS C:\Soft\ContentSync> dotnet sitecore cloud login If the above error occurs, you will need to run a different command to resolve the issue. PS C:\Soft\ContentSync> dotnet sitecore init now, Again run above command to open and authenticate with XM Cloud. It will be there a...

GetContentItem pipeline implementation in sitecore with C# code with example

GetContentItem pipeline implementation in sitecore with C# code with example 

The GetContentItem pipeline in Sitecore allows you to retrieve a content item from the Sitecore content tree using a specified item path or ID. The pipeline is executed whenever a content item is requested from the Sitecore database.

Here is an example implementation of the GetContentItem pipeline in C#

using Sitecore.Pipelines;

using Sitecore.Data.Items;

namespace Sitecore.Custom.Pipelines.GetContentItem

{

    public class CustomGetContentItem

    {

        public void Process(GetContentItemArgs args)

        {

            // retrieve the content item using the item path

            Item item = Sitecore.Context.Database.GetItem(args.ItemPath);


            // check if the item exists

            if (item != null)

            {

                // set the retrieved item as the result of the pipeline

                args.Result = item;

                // stop the pipeline execution

                args.AbortPipeline();

            }

        }

    }

}

In this example, the CustomGetContentItem class implements the Process method of the GetContentItem pipeline. The method retrieves the content item using the Sitecore.Context.Database.GetItem method and the item path specified in the args parameter. If the item is found, it is set as the result of the pipeline and the pipeline execution is stopped.

To register the custom GetContentItem processor, you need to add the following configuration in the Sitecore.config file:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <pipelines>
      <getContentItem>
        <processor type="Sitecore.Custom.Pipelines.GetContentItem.CustomGetContentItem, Sitecore.Custom" patch:after="*[1]" />
      </getContentItem>
    </pipelines>
  </sitecore>
</configuration>

This configuration registers the custom processor after the first processor in the GetContentItem pipeline.

Comments

Popular posts from this blog

Set up Sitecore XM cloud

Working on Sitecore development projects typically involves two key steps. The first is the installation or deployment of the Sitecore instance, followed by the implementation or solution development. For those familiar with Sitecore XP/XM, deploying a vanilla Sitecore instance using tools like SIF/SIA could be time-consuming, often taking several hours due to prerequisites such as setting up Solr, SQL, and more. However, the introduction of Sitecore Experience Manager Cloud (XM Cloud) has revolutionized this process. XM Cloud serves as a fully managed, self-service deployment platform tailored for developers, effectively addressing the challenges of lengthy deployment times. It enables the deployment of a fresh Sitecore instance with a fully functional website in just a few clicks. In this blog post, I'll demonstrate how to deploy a demo website on the Sitecore XM Cloud. Subsequently, in the next blog post, I'll illustrate how effortlessly you can configure your local app deve...