【问题标题】:Sharepoint 2013 - unable to hide a subsite from navigationSharepoint 2013 - 无法从导航中隐藏子网站
【发布时间】:2016-12-29 04:41:49
【问题描述】:

我无法在 SharePoint Server 2013(15.0.4841.1000 2016 年 7 月 CU)的导航中隐藏/显示页面和子网站。

我在网站集级别启用了 SharePoint Server 发布基础结构,并在网站级别启用了 SharePoint Server 发布。

我想更改网站的导航,这就是我要做的:

  1. 我点击齿轮 -> 站点设置
  2. 在外观和感觉下,我单击导航
  3. 我确认在全局导航下,“显示子网站”和“显示页面”已被选中 - 无需更改此设置
  4. 我确认在当前导航下,“显示子网站”和“显示页面”已被选中 - 无需更改此设置
  5. 我向下滚动到“结构导航:编辑和排序”单击一个子站点,然后单击“隐藏”按钮,所选子站点现在旁边有“(隐藏)”字样
  6. 我点击右下角的“确定”按钮
  7. 我检查我的子网站是否仍在导航中 - 确实如此。
  8. 我返回导航设置,我的子网站旁边没有“(隐藏)”字样。

闲逛我发现:

  • 我无法隐藏任何页面或子网站。
  • 我无法显示任何已隐藏的页面或子网站。
  • 我可以添加新的链接和标题
  • 我可以编辑链接和标题
  • 我可以删除链接和标题
  • 我可以重新排序导航 - 这包括链接、标题、子网站和页面

因此,在导航设置页面上,它看起来会应用除隐藏/显示更改之外的任何更改。我知道作为 hack,我可以取消选中“显示子网站”并手动添加所有链接,但我宁愿让 SharePoint 自动处理导航。但我仍然希望能够调整导航。有没有其他人遇到过这个?有关如何解决此问题的任何想法?

谢谢!

【问题讨论】:

    标签: sharepoint navigation sharepoint-2013


    【解决方案1】:

    所以我在这里找到了另一个有类似问题的人:https://social.technet.microsoft.com/Forums/en-US/b2bac40d-ed31-4ec5-842b-260275ae5e6c/unable-to-hide-one-subsite-in-global-navigation-menu?forum=sharepointadmin

    我能够使用 powershell 修复我的导航:

    Add-PSSnapin Microsoft.SharePoint.PowerShell –erroraction SilentlyContinue
    
    $web = Get-SPWeb http://SubSiteUrl... 
    $publishingWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($web) 
    
    $pageTitlesToShow = @("Test Page 1","Test Page 2")  
    
    $pages = $web.Lists["pages"]  
    foreach ($item in $pages.Items) {
        if (-not $pageTitlesToShow.Contains($item.Title)){
            $item.Title
            $item.UniqueId
            $publishingWeb.Navigation.ExcludeFromNavigation($false,$item.UniqueId);
        } }
    
    $publishingWeb.Update()  
    $web.Close()  
    $web.Dispose()
    

    但是,用户仍然无法通过 GUI 更新导航。还有其他人在导航方面有问题吗?网站所有者应该能够自行管理。

    【讨论】:

    【解决方案2】:

    我们也遇到了这个错误,我们安装了 2016 年 6 月的 CU。终于找到了微软的一些评论。 Stefan Goßner 评论道:“导航问题是在 6 月 CU 中引入的——目前计划在 10 月 CU 发布修复程序。”在页面上的 cmets 部分https://blogs.technet.microsoft.com/stefan_gossner/2016/08/09/august-2016-cu-for-sharepoint-2013-product-family-is-available-for-download/

    更新:十月 CU 可用并且此导航错误已修复:https://blogs.technet.microsoft.com/stefan_gossner/2016/10/11/october-2016-cu-for-sharepoint-2013-product-family-is-available-for-download/

    我在几个农场安装了 2016 年 10 月的 CU,它至少在我们的环境中修复了导航显示/隐藏错误。

    【讨论】:

    • Oct CU 存在一个已知问题(中断混合搜索)。 Stefan 确认(根据上面的 Oct CU 链接)此问题将通过 Jan CU 解决。任何人都可以确认是否是这种情况?
    【解决方案3】:

    想通了。希望这可以帮助那里的人。

    此脚本显示(取消隐藏)单个页面

    $web = Get-SPWeb http://subsiteURL
    $publishingWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($web)
    $pageTitlesToShow = @("Page Title") # this needs to be page title
    $pages = $web.Lists["pages"]
    foreach ($item in $pages.Items)
    {
        if ($pageTitlesToShow.Contains($item.Title)){
            $item.Title
            $item.UniqueId
            $publishingWeb.Navigation.IncludeInNavigation($false,$item.UniqueId);        
        }
    }
    
    $publishingWeb.Update()
    $web.Close()
    $web.Dispose() 
    

    【讨论】:

      【解决方案4】:

      进入导航并隐藏原始导航链接。插入新链接,这不会显示子站点下的子站点。

      【讨论】:

        猜你喜欢
        • 2015-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-15
        • 2018-01-06
        • 1970-01-01
        • 1970-01-01
        • 2010-11-16
        相关资源
        最近更新 更多