Below function GetListOfSublayouts(string itemId) can be used to get list of sublayouts or renderings used by item in Sitecore. This function takes Sitecore item id and returns list of sublayouts/renderings used by a particular item in Sitecore
Below function DoesItemHasSublayout(string itemId, string sublayoutId) can be used to check whether a particular sublayout or rendering has been added to specific Sitecore item or not. This function takes Sitecore item id and Sublayout Id or Rendering Id and returns true/false.
public RenderingReference[] GetListOfSublayouts(string itemId) { Sitecore.Layouts.RenderingReference[] renderings=null; if (Sitecore.Data.ID.IsID(itemId)) { Item item = Sitecore.Context.Database.GetItem(Sitecore.Data.ID.Parse(itemId)); if (item != null) { renderings = item.Visualization.GetRenderings(Sitecore.Context.Device, true); } } return renderings; }
public bool DoesItemHasSublayout(string itemId, string sublayoutId) { if (Sitecore.Data.ID.IsID(itemId) && Sitecore.Data.ID.IsID(sublayoutId)) { Item item = Sitecore.Context.Database.GetItem(Sitecore.Data.ID.Parse(itemId)); if (item != null) { if ((item.Visualization.GetRenderings(Sitecore.Context.Device, true).Where(r => r.RenderingID == Sitecore.Data.ID.Parse(sublayoutId))).Any()) { return true; } } } return false; }Comments and suggestions are most welcome. Happy coding!
0 comments :
Post a Comment