This post is on the older side and its content may be out of date.
Be sure to visit our blogs homepage for our latest news, updates and information.
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MagaMenuTemplate.ascx.cs" Inherits="SitefinityWebApp.ControlTemplates22.MegaMenuTemplate" %><%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI" TagPrefix="sf" %><%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI.NavigationControls.SiteMapNavigations" TagPrefix="navcontrols" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI.NavigationControls" TagPrefix="sfMap" %><navcontrols:SiteMapNavigationMenu ID="siteMapControl_horizontaldropdownmenu" runat="server" Skin="Sitefinity"></navcontrols:SiteMapNavigationMenu><script type="text/javascript"> function radMenuOnClick(sender, args) { var state = args.get_item().get_attributes().getAttribute("ExpandOnClick"); args.get_item().get_attributes().setAttribute("ExpandOnClick", "true") args.get_item().open(); } function radMenuOnOpening(sender, args) { var state = args.get_item().get_attributes().getAttribute("ExpandOnClick"); if (state != "true") args.set_cancel(true); args.get_item().get_attributes().setAttribute("ExpandOnClick", "false") } $(document).ready(function() { var mainNavigation = $(".main-menu .floor2 .menuwrap .RadMenu.RadMenu_Sitefinity .rmRootGroup.rmHorizontal"); //$(".main-menu .floor2 .menuwrap .RadMenu.RadMenu_Sitefinity .rmRootGroup.rmHorizontal li:nth-child(2) div.rmSlide").addClass("members"); });</script><%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI.NavigationControls.SiteMapNavigations" TagPrefix="navcontrols" %>var templateInfo = new TemplateInfo() { TemplatePath = "~/ControlTemplates/ItemTemplate.ascx", TemplateName = String.Empty, TemplateResourceInfo = this.ResourcesAssemblyInfo, ControlType = this.GetType(), Key = TemplateKey };<%@ Control Language="C#" AutoEventWireup="true" %><telerik:RadSiteMap runat="server" ID="RadSiteMap1" DataSourceID="siteMapDataSource1"></telerik:RadSiteMap><asp:SiteMapDataSource runat="server" ID="siteMapDataSource1" />((SiteMapBase)menuItemContainer.SiteMapDataSourceControl.Provider).IsNodeAccessible += new EventHandler<IsAccessibleArgs>void MegaMenuTemplate_IsNodeAccessible(object sender, IsAccessibleArgs e) { var pageNode = e.Node as PageSiteNode; if (pageNode != null) { if (/*!pageNode.ShowInNavigation ||*/ /*(!pageNode.IsGroupPage && pageNode.Hidden ) ||*/ (String.IsNullOrEmpty(pageNode.Title) && // used in multilingual; captures the cases of synced, split, and group pages pageNode.Id != SiteInitializer.CurrentFrontendRootNodeId)) // ensures that the root node is not hidden and thus all other pages { e.IsAccessible = false; return; } //The page should be hidden if it is a group page and it has no child pages. if (pageNode.IsGroupPage && pageNode.ChildNodes.Count < 1) { e.IsAccessible = false; return; } if (pageNode.ShowInNavigation == false) { e.IsAccessible = false; return; } if (pageNode.Title != "Pages" && pageNode.Status != Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live) { e.IsAccessible = false; return; } } else { throw new NotSupportedException("The supported types are 'TaxonSiteNode' or 'PageSiteNode'."); } e.IsAccessible = true; }public class ItemContainer : GenericContainer { public ImageControl ImageControl { get { return this.GetControl<ImageControl>("imageControl", false); } } public Label Description { get { return this.GetControl<Label>("description", false); } } public HyperLink ItemUrl { get { return this.GetControl<HyperLink>("itemUrl", false); } }<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ItemTemplateRadItem.ascx.cs" Inherits="SitefinityWebApp.ItemTemplateRadItem" %><%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI.PublicControls" TagPrefix="sf" %><asp:Label runat="server" ID="description" /><sf:ImageControl runat="server" id="imageControl"/><asp:HyperLink runat="server" ID="itemUrl" />if (image != null) { menuItemContainer.ImageControl.ImageId = image.Id; shouldAdd = true; } if (!description.IsNullOrEmpty()) { menuItemContainer.Description.Text = description; shouldAdd = true; } if (shouldAdd) { e.Item.Controls.Add(menuItemContainer); }
Jen Peleva was a Principal frontend developer for the Sitefinity CMS.
Subscribe to get all the news, info and tutorials you need to build better business apps and sites