Sitefinity: Keeping RadPanelBar Expanded
If you need to ensure that the RadPanelBar control (which I use for sidebar navigation) remains expanded, check out the RadPanelbar1_ItemDataBound method in the control located at /Sitefinity/UserControls/Navigation35/SitePanelBar.ascx.
This control checks the hideUrlForGroupPages, removing the link if set to true on your control. However, this doesn’t prevent the link from being active, collapsing the nodes when clicked. I need my menu to be fully expanded, so I modified the code using some newly discovered properties in the e (RadPanelEventArgs) parameter:
public void RadPanelbar1_ItemDataBound(object sender, RadPanelBarEventArgs e) { if (!hideUrlForGroupPages) return; var node = e.Item.DataItem as CmsSiteMapNode; if (node == null || node.PageType != CmsPageType.Group) return; e.Item.NavigateUrl = ""; e.Item.PreventCollapse = true; e.Item.Enabled = false; }
Since the item is always rendered as a link, it’s important to disable it as well so that it doesn’t do anything when clicked. Additionally, since it still renders as a link, the pointer still turns into a cursor, and when you click the heading, that annoying dotted border still activates as if it’s a regular link. We can fix this with css:
.rpRootGroup .rpSlide a { outline: none; cursor: default
}
Additionally, you might need to undo this change in lower levels of the css, but that depends on your application.
I don’t have an example (yet) as we haven’t published our site (yet), but hope to update this with a link soon. Hope this was helpful! As always, comments are welcome.
selaromdotnet
Latest posts by selaromdotnet (see all)
- Restarting a Specific Azure Web App Instance - January 13, 2021
- Adding Ratings and Reviews to Sitecore Commerce with YotPo - November 13, 2018
- Sourcetree Suddenly Prompting for Github Credentials - February 22, 2018