@** Copyright 2017 Seven Spikes Ltd. All rights reserved. (http://www.nop-templates.com) * http://www.nop-templates.com/t/licensinginfo *@ @model MegaMenuWidgetModel @inject IWorkContext workContext @{ var megaMenuCssFilePath = "~/Plugins/SevenSpikes.Nop.Plugins.MegaMenu/Themes/" + Model.Theme + "/Content/MegaMenu.css"; var supportRtl = (await workContext.GetWorkingLanguageAsync()).Rtl; } @if (supportRtl) { var megaMenuRtlCssFilePath = "~/Plugins/SevenSpikes.Nop.Plugins.MegaMenu/Themes/" + Model.Theme + "/Content/MegaMenu.rtl.css"; } @foreach (var menu in Model.MegaMenus) { List responsiveMenuItems = new List(); List responsiveCategoryMenuItems = new List();
    @foreach (var item in menu.Items) { var shouldUseCatalogTemplate = (item.Type == MenuItemType.Categories && item.CatalogTemplate != CatalogTemplate.Simple); var shouldUseManufacturerTemplate = (item.Type == MenuItemType.Manufacturers && item.MaximumNumberOfEntities > 0 && item.CatalogTemplate != CatalogTemplate.Simple); var shouldUseVendorTemplate = (item.Type == MenuItemType.Vendors && item.MaximumNumberOfEntities > 0 && item.CatalogTemplate != CatalogTemplate.Simple); var shouldUseTopicTemplate = (item.Type == MenuItemType.Topics && item.MaximumNumberOfEntities > 0 && item.EntityId == 0); var shouldUseProductTagsTemplate = (item.Type == MenuItemType.ProductTags && item.MaximumNumberOfEntities > 0 && item.EntityId == 0); if (shouldUseCatalogTemplate) { var menuItemHtml = await Component.InvokeAsync("MegaMenuCategory", new { menuItem = item }); var responsiveMenu = await menuItemHtml.RenderHtmlContentAsync(); @menuItemHtml if (item.CatalogTemplate == CatalogTemplate.WithPictures) { MenuItemModel responsiveMenuItem = (MenuItemModel)item.Copy(); responsiveMenuItem.CatalogTemplate = CatalogTemplate.List; var responsiveMenuHtml = await Component.InvokeAsync("MegaMenuCategory", new { menuItem = responsiveMenuItem, isResponsive = true }); responsiveMenu = await responsiveMenuHtml.RenderHtmlContentAsync(); } responsiveCategoryMenuItems.Add(responsiveMenu); } else if (shouldUseManufacturerTemplate) { var menuItemHtml = await Component.InvokeAsync("MegaMenuManufacturer", new { menuItem = item }); var responsiveMenu = await menuItemHtml.RenderHtmlContentAsync(); @menuItemHtml if (item.CatalogTemplate == CatalogTemplate.WithPictures) { MenuItemModel responsiveMenuItem = (MenuItemModel)item.Copy(); responsiveMenuItem.CatalogTemplate = CatalogTemplate.List; var responsiveMenuHtml = await Component.InvokeAsync("MegaMenuManufacturer", new { menuItem = responsiveMenuItem }); responsiveMenu = await responsiveMenuHtml.RenderHtmlContentAsync(); } responsiveMenuItems.Add(responsiveMenu); } else if (shouldUseVendorTemplate) { var menuItemHtml = await Component.InvokeAsync("MegaMenuVendor", new { menuItem = item }); var responsiveMenu = await menuItemHtml.RenderHtmlContentAsync(); @menuItemHtml if (item.CatalogTemplate == CatalogTemplate.WithPictures) { MenuItemModel responsiveMenuItem = (MenuItemModel)item.Copy(); responsiveMenuItem.CatalogTemplate = CatalogTemplate.List; var responsiveMenuHtml = await Component.InvokeAsync("MegaMenuVendor", new { menuItem = responsiveMenuItem }); responsiveMenu = await responsiveMenuHtml.RenderHtmlContentAsync(); } responsiveMenuItems.Add(responsiveMenu); } else if (shouldUseTopicTemplate) { var menuItemHtml = await Component.InvokeAsync("MegaMenuTopic", new { menuItem = item }); responsiveMenuItems.Add(await menuItemHtml.RenderHtmlContentAsync()); @menuItemHtml } else if (shouldUseProductTagsTemplate) { var menuItemHtml = await Component.InvokeAsync("MegaMenuProductTags", new { menuItem = item }); responsiveMenuItems.Add(await menuItemHtml.RenderHtmlContentAsync()); @menuItemHtml } else { var menuItemHtml = await Component.InvokeAsync("MegaMenuMenuItem", new { menuItem = item }); responsiveMenuItems.Add(await menuItemHtml.RenderHtmlContentAsync()); @menuItemHtml } } @await Component.InvokeAsync("Widget", new { widgetZone = "header_menu_after" })
@**@
  • @T("SevenSpikes.Themes.Emporium.Header.AllCategories")
    • @T("SevenSpikes.Themes.Common.BackSublist")
    • @foreach (var responsiveCategoryMenuItem in responsiveCategoryMenuItems) { @Html.Raw(responsiveCategoryMenuItem) }
  • @foreach (var responsiveMenuItem in responsiveMenuItems) { @Html.Raw(responsiveMenuItem) } @await Component.InvokeAsync("Widget", new { widgetZone = "header_menu_after" })
@if(menu.ShowDropdownsOnClick) { } }