Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. public class GetControllerRenderer : Sitecore.Mvc.Pipelines.Response.GetRenderer.GetControllerRenderer
  2. {
  3. public override void Process(GetRendererArgs args)
  4. {
  5. var rendering = args.Rendering;
  6. var database = Sitecore.Context.Database;
  7.  
  8. if (RenderingExtensions.RequiresDatasource(rendering.RenderingItem) &&
  9. !RenderingExtensions.DatasourceExists(database, rendering.DataSource) &&
  10. !rendering.RenderingType.Equals("Layout"))
  11. {
  12. // Return Blank View if the Rendering Requires a Datasource and the Datasource doesn't exist.
  13. args.Result = this.GetRenderer(rendering, args);
  14.  
  15. // Log for funzies
  16. Log.Warn($"Datasource Error: There is an issue with the datasource on the rendering: {rendering.RenderingItem.DisplayName}, Path: {rendering.Item.Paths.ContentPath}.", this);
  17. return;
  18. }
  19.  
  20. base.Process(args);
  21. }
  22.  
  23. protected override Renderer GetRenderer(Rendering rendering, GetRendererArgs args)
  24. {
  25. return new ViewRenderer
  26. {
  27. ViewPath = ExperienceEditorConstants.Views.BlankViewPath,
  28. Rendering = rendering
  29. };
  30. }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement