public static MvcHtmlString EntityTypeContentZone(this HtmlHelper html, string zoneName, string entityType, object entityId, bool renderAsWidgets = false, WidgetColumns widgetColumns = WidgetColumns.Default) { return(html.Action("EntityTypeContentBlocksByZone", "Frontend", new { area = string.Empty, entityType = entityType, entityId = entityId, zoneName = zoneName, renderAsWidgets = renderAsWidgets, widgetColumns = widgetColumns })); }
public ActionResult EntityTypeContentBlocksByZone(string zoneName, string entityType, object entityId, bool renderAsWidgets = false, WidgetColumns widgetColumns = WidgetColumns.Default) { var providers = EngineContext.Current.ResolveAll <IEntityTypeContentBlockProvider>(); var contentBlocks = providers .SelectMany(x => x.GetContentBlocks(zoneName, entityType, entityId.ToString())) .ToList(); ViewBag.RenderAsWidgets = renderAsWidgets; ViewBag.WidgetColumns = widgetColumns; var viewEngineResult = ViewEngines.Engines.FindView(ControllerContext, "ContentBlocksByZone", null); // If someone has provided a custom template (see LocationFormatProvider) if (viewEngineResult.View != null) { return(View("ContentBlocksByZone", contentBlocks)); } return(View("Kore.Web.ContentManagement.Views.Frontend.ContentBlocksByZone", contentBlocks)); }