我们正在使用SharePoint 2010 Standard,并有一个方案,其中有一个具有启用发布功能的团队站点。我们有一个自定义母版页(v4.master的略微修改的版本 - 带有附加的定制控制)和自定义CSS。

问题是,在站点集的顶级以外的任何站点中,顶部导航控制似乎忽略了内容页面上的导航设置。

自定义主站页面设置为系统主页页面以及站点母版页(团队站点所需),所有导航更改都会在_Layouts文件夹中的任何页面上完美出现。但是,用户创建的任何页面(默认设置为“Wiki页” - 据我所知,它使用〜14 / template / documenttemplates / wkpstd.aspx模板)不显示正确的导航。

显示的导航如下:

  • 顶级站点集合(正确):homelink [手动创建链接],link1,link2,link3,link4
  • subsite:homelink(不正确,因为设置设置为'从父级继承)

    所有导航设置都是正确的,已在其他环境中进行双重检查和测试。

    有没有人知道为什么这可能不起作用?我们已经检查了我们认为可以使用的所有模板中的冲突或覆盖占位符,但找不到任何引用我们使用的标准占位符(PlaceUltertopNavbar和PlaceHolderhorizOntalNav)。

    用于呈现菜单的控件是默认值:

    <SharePoint:AspMenu ID="TopNavigationMenuV4"
    Runat="server" EnableViewState="false"
    DataSourceID="topSiteMap"
    AccessKey="<%$Resources:wss,navigation_accesskey%>"
    UseSimpleRendering="true" UseSeparateCss="false"
    Orientation="Horizontal" StaticDisplayLevels="5"
    MaximumDynamicDisplayLevels="0" SkipLinkText=""
    CssClass="s4-tn" />
    
    <asp:SiteMapDataSource ShowStartingNode="False"
    SiteMapProvider="GlobalNavSiteMapProvider"
    id="topSiteMap" runat="server" />
    
    .

    提前感谢

有帮助吗?

解决方案 2

好吧,我们终于想到了导致问题的原因。

由于在团队站点上启用发布功能,导航设置会更改。

在我们的主页上(基于团队站点V4.master),顶部菜单控件被配置为使用返回SiteMapDataSource对象的DataSource。但是,由于启用发布功能,我们需要使用实际上是一个生成的世生odicetagcode,这需要生成一个生成的GlobalNavigation对象作为PortalSiteMapProvider控件的PortalSiteMapProvider(如果您正在使用这个)。

因此,我们替换了上面的asp:sitemapdataSource代码:

PublishingNavigation:PortalSiteMapDataSource
    StartFromCurrentNode="true"
    ShowStartingNode="false"
    SiteMapProvider="GlobalNavigation"
    id="topSiteMap"
    runat="server"
.

我们现在可以按预期使用导航。

其他提示

这可能是一个已知的问题,这是我直观的猜测,因为我之前面临的同样的情况,同时在创建整个农场跨越整个农场的一个共同的导航,而使用发布功能的所有网站集合是团队网站。回到那些使它工作的东西是一个农场层面覆盖,这不是一个非常好的方法,但我们与之了。

我们对驻留在中的TopNavbar用户控件进行了确切的更改

“C:\ Program Files \常用文件\ Microsoft Shared \ Web服务器扩展\ 14 \ Template \ ControlTemplates \ TopNavbar.ascx”

将其与母版顶部的topnavbar源代码相匹配。

许可以下: CC-BY-SA归因
scroll top