示例#1
0
 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
     }));
 }
示例#2
0
        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));
        }