Sub menu Starting Node off set
I don't seem to find something I used in 3.7
I want to create a template
Top has all top pages in a menu
Left side has a menu with all child pages of the corresponding top page.
There used to be an option show toppage or childenode offest or something like this. Is this available?
Page 1
Page 1.1
Page 1.2
Page 2
Page 2.1
If you are on any Page 1.x the menu left should show
- Page 1.1
- Page 1.2
(but not Page 1 since this is in the menu on the top=
Markus
Hi Markus Berchtold,
Unfortunately this is not yet possible in Sitefinity 4.0. We have logged this a high priority feature request (107745). For now what you can do with sub navigation would be to set the navigation to show only pages under a particular parent page.
All the best,
Radoslav Georgiev
the Telerik team
Dear Radoslav
Thanks for your answer. This would mean if I had 5 main menu items - I needed 5 tempates.
I solved it like this. SiteMap and RadTabstrip for TopMenu (TabStrip seems to be missing from the SF navigation options anyhow)
And Another SiteMap and RadPanelBar for the Second Navigation.
NodeOffest did the trick then.
-----------
It's a very comfortable workaround. However now I am left with how to set the select status of the TopMenu RadTabStrip as well as the set/and keep selected status of the RadPanelBar in the Submenu.
Where would I programm such a functionallity now in 4.0 or would I have to make my own master page?
Markus
PS: If this functionallity comes in Q1 it would defenitely need a automatic selected css property (maybe on/off)
Hi Markus Berchtold,
If you are using horizontal menu (the first option) the currently active link takes a class .rtsSelected. Please note that we are going to do a rewrite of the Navigation control to accomodate user's needs. If you have feature requests regarding this, please feel free to share them.
Greetings,
Radoslav Georgiev
the Telerik team
Dear Radoslav
Well thanks for asking.
a) include the RadTabStrip as a navigation option
b) include the RadPanelBar as a navigation option
c) make sure that on any navigation if the pages is selected the menu item
1) stays open (RadPanelBar and so on)
2) gets the selected css automatically
a + b would just give endusers more flexibility (especially the RadPanelBar for navigation)
c would take the whole hassle out of it finding the selected item in navi and style it bla bla bla.
c) I would assume that in 99,9 % of all times the active link of the selected page is styled diffently. So this should be delivered out of the box.
b) I think the RadPanelBar is used very often if you don't want flyout menus
Top priorities b + c.
Hope to see these features in Q1. I am postponing another project for the Q1 because to much stuff is missing. If these sugestions won't make it to Q1 please advice as soon as possible.
If they don't make it to Q1 I would appreciate it if you had me pointed on how the best way would be to have a RadPanelBar stay open when an item is selecte (I would assume that I would have to do it the old way. Own master page and codebehind finding the item in navi and style it) But that would kind of take away of all the fun of having to write 70% less code ;-)
Allways glad to give some ideas and I know you will deliver more than we expect !
Markus
Hi Markus,
Thanks for sharing your idea - you know we appreciate it.
Most probably we will not be able to rework the navigation control for Q1, since this quarter has been already planned, and we set the roadmap to stone. We will try to put in to the Q2 table though.
If they don't make it to Q1 I would appreciate it if you had me pointed on how the best way would be to have a RadPanelBar stay open when an item is selected (I would assume that I would have to do it the old way.
You are right. Once you bind the RadPanelBar, you need to use the client side api so that you can tell what to be expanded on click and what not. If you let us know about the exact requirement though, we push the example as a KB or blog post, so that you still not write code :)
Thanks for the trust, we really want to deliver more with the Q1 ;).
Dear Geori
Thanks for the feedback.
I just noticed that the panelbar actually works already as expected with one exeption.
If you click on a page group the url is the one of the pagegroup page and not the url of the first page in that group. Therefore the menu will not get the selected class: class="rpLink rpSelected"
I have the following example structure
TOP Menu 1 (PageGroup)
Sub Menu 1 (PageGroup)
Sub Page 1 (Page)
TOP Menu I have used a RadTabStrip
Sub Menu I have used a RadPanelBar
So when I click on Top Menu 1 it will acutally open SubMenu1 (and show its URL) but display Sub Page 1 in the browser (which is correct)
However the RadPanelBar will not be opened and the Sub Page 1 will not have the rpSelected class.
--------------
Usually I would have used the FindByURL but this will not work in this case since the URL shown and the page displayed are different.
Hope you understand my scenario. If not tell me and I will make a short screencast of what I have and what I would like to have :-)
Markus
This behavior also makes the vertical navigation option "All sibling pages of currently opened page" to be useless on subpages/levels!!
This is extreemely important to get fixed. I find the navigation widget useless in many scenarios.
OC
Hi Mutantmannen,
@Marcus: can you provide me with a video so I can get a better picture of the issue. In the meantime in Sitefinity 4.1 you have the opportunity to apply additional
URL to each page so you could customize your website even more so give it a try if that works for you.
Best wishes,
Victor Velev
the Telerik team
Indeed the ability to dispaly only sibbling pages for the opened page in a submenu is a must have for a couple of projects we work on. Will this be implemented in version 4.2?
There is an easy workaround that fixes this in 4.1. Not like it should be, but it works:
In 4.1 you can set the parent page also to be at redirect page. There you can set the redirect to the subpage manually. This solves the problem.
This redirect should be like this by default, like it is in SF 3.x. This should be implementet in 4.1 SP1!
OC
Ok thanks, I'll try that!
Finally :-)
In 4.1 SP1 this is working!
OC
Arrghhhffff....!!!!
You've fixed one problem, and created a new one.. Test - test - test!
Now the behavior is as expected when you click on the redirect page. You get redirected to the first sub page, and navigation is showing all page siblings as expected.
BUT: When you click on one of the sibling pages - all menu items disappear...
The Navigation widget is still usless for one of it's most common uses, as a sub menu.
OC
After studying this a bit more I see that your solution to the problem is wrong.
PageGroups MUST WORK LIKE IN SF3!!!!! Why are you changing this? I see that there might be some SEO arguments for the new behavior, but what is happening in SF4 is not logical nor does it work!
You are NOT redirecting a page group to it's firs child. You've changed the Navigation widget to show children of it self, NOT the page's siblings - like it should.
A sub page MUST be a redirect to it's firs child (and a true re-direct including chaging of the page url).
The Navigator widget MUST change back to it's behaviour from 4.1. That was the correct behavior. 4.1 SP1 is WRONG!!!!
Like this you have fixed one problem with creating an even bigger one.
THIS MUST BE FIXED yesterday! This is basic core CMS features. They must work!
OC
Yes I've seen this too :(
Technically it works. It only shows sibbling pages and on the deppest level in your navigation no sibbling pages exist. Ofcours it also should show neighbour pages and the selected page itself. Now I have to add sumenu's on all my childpages :S
Just so you Sitefninty guys get it straight - two things need to be done:
1. Change the behavior of PageGroups. A page group must be at true redirect to the groups first child.
2. The Navigator widgets handling of "Page siblings" must change back to the previous version (4.1). That worked just fine. The problem is the redirect - NOT the Navigator widget.
Hope you can fix this at once. This error makes problem in all my current projects... We cannot wait any longer!
OC
@Mutantmannen
I do agree with you that pageGroups should redirect to the first child, change the url, and set the selected css for the opened url (Alos when you are entering the sub page directly from a link or google for example)
The navigation menu sure is falling short a bit at the moment
- No PanelBar
- No Vertical RadMenu with Flyout to the right (like Horizontal with flyout menu down)
I think Telerik is aware of these problems and I am sure they address this very soon with high priority. Such changes are unforuntely not so simple to be done as we might like them because it also involves changes in the UI of the navigation widget.
The SP 1 for the 4.1 release was a huge step into the right direction to getting SF workable, sellable and usable. My guess is you have to wait for 4.2 to see the improvements you are asking for.
So, at the momente I think we are stuck with developping our own navigation widgets which of course is very easy to be done if you are a programmer and into the Fluent API - but for others almost impossible.
As soon as I have my own working sub navi I will let you know.
Markus
I'm also able to create a submenu myself. It's just that what we are talking about is core CMS. This should work. I'm not interested spending my time creating core CMS behaviour. That's why we use Sitefinity.
I even see this as a bug. We're not talking about new features, just getting what's there working. This is a MAJOR bug. The most disturbing thing is that the Sitefinity team now have tried to correct the problem TWO times with no luck. That's disturbing! And also makes my patiens really thin...
I'm a huge Telerik and Sitefinity fan, have developed dozens of Sitefinity projects over several years. I know the Sitefinity team will get there :-). I even love SF4 - it's a great tool.
But this kind of bugs must be fixed now - NOT in the next release. I really do not see that getting the PageGroup re-direct working like it should is a big issue.
At least in 4.1 there was an OK workaround (using redirect page), but in 4.1 SP1 this posibility is no longer there. SP1 is needed for a ton of other issues, so going back is not an alternative...
THIS MUST BE FIXED NOW!
OC
Could someone from Telerik/the Sitefinity team please comment on this. Do we need to create our own code for sub menu's or are you going to fix this bug?
If you still do not get what the problem is, check out this website: http://beta.bragd.no/
Click on the "Om Bragd" menu, and the page appears with a sub menu. Then click on one of the sub menu items...
OC
Hello Mutantmannen,
We are working on a refactoring of the Navigation control and adding missing features from 3.x. This feature will be available with the 4.2 release.
Regards,
Radoslav Georgiev
the Telerik team
Again, and again, and again...
The problem IS NOT the Navigation control. That worked just fine in previous versions. You've made the bug in SP1. In all previous versions it worked.
The promblem is how PageGroups is handled.
No wonder you are not able to fix it when you do not even see what the problem is...
This bug is so major that I really do not see how you can even consider waiting to 4.2. In previous versions it was possible to do workarounds. Now it is not...
I have to create my own sub meny control :-(
OC
Hi Mutantmannen,
We are changing how group pages are handled. By default they will now redirect to the first child page as you expect them. Also we are going to add an option to make group pages show the first child page instead of redirect (as directories behave in IIS if you have a default document).
Best wishes,
Radoslav Georgiev
the Telerik team
Her is the code for your own sub menu:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="SubMenu.ascx.cs" Inherits="Widgets_SubMenu" %>
<
asp:SiteMapDataSource
ID
=
"SiteMapDataSource1"
runat
=
"server"
StartingNodeOffset
=
"0"
StartFromCurrentNode
=
"true"
ShowStartingNode
=
"false"
/>
<
telerik:RadTabStrip
ID
=
"TabStrip1"
runat
=
"server"
EnableEmbeddedSkins
=
"false"
CssClass
=
"RadTabStrip"
DataSourceID
=
"SiteMapDataSource1"
Orientation
=
"VerticalLeft"
OnDataBound
=
"TabStrip1_DataBound"
/>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using Telerik.Sitefinity.Web;
using Telerik.Sitefinity.Modules.Pages;
using Telerik.Sitefinity.Modules.Pages.Web.UI;
using Telerik.Web.UI;
using Telerik.Web.UI.Design;
public partial class Widgets_SubMenu : System.Web.UI.UserControl
protected void Page_Load(object sender, EventArgs e)
PageSiteNode currentNode = SiteMapBase.GetCurrentNode();
if (!currentNode.HasChildNodes)
SiteMapDataSource1.StartingNodeOffset = -1;
protected void TabStrip1_DataBound(object sender, EventArgs e)
PageSiteNode currentNode = SiteMapBase.GetCurrentNode();
if (!currentNode.HasChildNodes)
foreach (RadTab tab in TabStrip1.Tabs)
if (tab.NavigateUrl == currentNode.Url)
tab.Selected = true;
else
TabStrip1.Tabs[0].Selected = true;
@Mutantmannen
How about pages not to be shown in Navigation
How about pages not to be shown by security settings
How about page groups without children
Markus
Markus,
All this is of course possible to implement.
I do not have any use for this in my current projects, and see this only as a quick-fix. I will use the built-in-navigator when Telerik fixes it, in 4.2.
I found a code example in another thread witch had this implemented, so if you search you'll find it.
OC