MOSS 2007 Navigation Options/Settings

1.4k Views Asked by At

I have a subsite that I have changed the "global navigation" setting to

"Display the navigation items below the current site"

This works correctly. I then need to "add a link" this is a link back to the root web site basically "/Pages/Default.asp"

I click OK and there are no errors, but the link does not get displayed and when I go back the the navigation settings the link is no longer there.

This works just fine in the root web navigation

Any ideas?

4

There are 4 best solutions below

0
David Burton On BEST ANSWER

After further research, I found a bug in our custom minimal publishing site definition onet.xml that was causing the issue. The Element had a typo in it

<NavBars>
   <narbar Name="SharePointTop Navbar" ID="1002" />
<NavBars>

"narbar" should be "navbar". When I fixed it, any new sub-sites created did not have this issue. I was now able sort/edit the navigation items for those new sub-sites.

In order to fix the already created sub-sites, I had to update the NavNodes table in my content db. I found a forum post hat help me:

http://social.technet.microsoft.com/Forums/en-US/sharepointgeneral/thread/fb22476c-9145-476b-a1c9-7fe85aa12272

I had to modify the t-sql statement in the above forum post to add "Quick Launch" rows for each sub-site in the NavNodes table. The next time a user tries to modify the navigation sorting/editing for a sub-site, the changes will be saved.

0
Francisco Aquino On

That's odd. I just tested your scenario and it worked for me. I added a 'David Button' link under the Global Navigation top-level folder after checking the Display the navigation items below the current site setting. The link appears and once I return to the Navigation Settings, it is still there.

Maybe you have cache enabled?

0
Neil Richards On

If you have caching turned on you may need to flush this (checking the security settings of each link is an expensive operation).

The link below tells you how to: - Configure the object cache - Flush the object cache or the disk-based cache

http://office.microsoft.com/en-us/sharepointserver/HA101577831033.aspx

0
user543861 On

This solution worked for me:

INSERT INTO 
NavNodes 

([SiteId] ,
[WebId] ,
[Eid] ,
[EidParent] ,
[NumChildren] ,
[RankChild] ,
[ElementType] ,
[Url] ,
[DocId] ,
[Name] ,
[DateLastModified] ,
[NodeMetainfo] , [NonNavPage] ,[NavSequence] ,[ChildOfSequence])

SELECT DISTINCT
SiteId, WebId ,1002 ,0 ,0 ,1 ,1 ,'' ,NULL ,'SharePoint Top Navbar' ,getdate() ,NULL ,0 ,1 ,0 
FROM NavNodes 
WHERE WebId NOT IN (
  SELECT WebId 
  FROM NavNodes
  WHERE Eid = 1002)