Skip to content

Instantly share code, notes, and snippets.

@5up3rman
Created August 19, 2016 10:55
Show Gist options
  • Save 5up3rman/264ca8b6e19d33a710c189f02cf05322 to your computer and use it in GitHub Desktop.
Save 5up3rman/264ca8b6e19d33a710c189f02cf05322 to your computer and use it in GitHub Desktop.
Blog
using System.Text.RegularExpressions;
using Sitecore.Mvc.Presentation;
using Sitecore.Mvc.Pipelines.Response.GetRenderer;
namespace Paragon.Sc.Mvc.Pipelines
{
public class GetViewRenderer : Sitecore.Mvc.Pipelines.Response.GetRenderer.GetViewRenderer
{
public override void Process(GetRendererArgs args)
{
if (args.Result != null)
return;
args.Result = this.GetRenderer(args.Rendering, args);
}
protected override Renderer GetRenderer(Rendering rendering, GetRendererArgs args)
{
var viewPath = this.GetViewPath(rendering, args);
if (string.IsNullOrWhiteSpace(viewPath))
return null;
if (Sitecore.Context.PageMode.IsExperienceEditorEditing)
{
var eeViewPath = Regex.Replace(viewPath, @"^(.*)\.cshtml$", "$1_EE.cshtml");
viewPath = System.IO.File.Exists(System.Web.HttpContext.Current.Server.MapPath(eeViewPath)) ? eeViewPath : viewPath;
}
return new ViewRenderer
{
ViewPath = viewPath,
Rendering = rendering
};
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment