public override void Process(ItemResolverArgs args) { args.PrototypeItem = GetPrototypeItem(args.OriginalItem.ID, args); if (args.PrototypeItem != null) { args.AbortPipeline(); } }
public override void Process(ItemResolverArgs args) { var excluded = args.Settings.ExecludePaths.Select(i => i.ToLower(CultureInfo.CurrentCulture)).Contains(args.OriginalItem.Parent.Paths.FullPath.ToLower(CultureInfo.CurrentCulture)); if (excluded) { args.AbortPipeline(); } }
public override void Process(ItemResolverArgs args) { args.FilePath = GetFilePath(args.OriginalItem.Paths.FullPath, args); if (!string.IsNullOrEmpty(args.FilePath)) { args.AbortPipeline(); } }
private static string GetFilePath(string itemPath, ItemResolverArgs args) { itemPath = itemPath.Replace("/sitecore/layout/", string.Empty); var index = itemPath.IndexOf('/'); var section = itemPath.Substring(0, index); var relativePath = itemPath.Replace(section + "/", "/Prototype/" + section + "/") + ".html"; var filePath = HttpContext.Current.Server.MapPath(relativePath); return(File.Exists(filePath) ? filePath : string.Empty); }
private static Item GetPrototypeItem(ID itemId, ItemResolverArgs args) { if (args.Settings.IdMappings.ContainsKey(itemId.ToString())) { itemId = new ID(args.Settings.IdMappings[itemId.ToString()]); var newItem = Context.Database.GetItem(itemId); if (newItem != null) { return(newItem); } } return(null); }
private static Item GetPrototypeItem(string itemPath, ItemResolverArgs args) { var prototypePath = GetPath(itemPath, args.Settings); if (!prototypePath.Equals(itemPath, StringComparison.OrdinalIgnoreCase)) { var newItem = Context.Database.GetItem(prototypePath); if (newItem != null) { return(newItem); } } return(null); }
public static void Run(ItemResolverArgs args) { Assert.ArgumentNotNull(args, "args"); CorePipeline.Run("websiteprototype.itemresolver", args); }
public override void Process(ItemResolverArgs args) { args.Settings = SettingsLoader.GetSettings(); }