【问题标题】:Sharepoint create site navigation through programmingSharepoint 通过编程创建站点导航
【发布时间】:2010-09-16 23:02:22
【问题描述】:

我在 sharepoint 中有一个要求,我想在其中创建基于 excel 文件的顶部链接导航。意味着在 excel 文件中提到了站点导航结构(以及父站点下的父站点子站点)。我需要阅读该结构并基于修改 sharepoint 中的导航。

请任何人告诉我是否可以以这种方式配置导航。如果是,请告诉我如何实现它。

仅供参考:我使用的是 MOSS 2007。

提前致谢

萨钦·卡特卡

【问题讨论】:

    标签: sharepoint moss navigation wss


    【解决方案1】:

    如果这是一个发布网站,您可以使用类似于以下的代码:

    PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(SPContext.Current.Web);
    SPNavigationSiteMapNode.CreateSPNavigationNode(title, url, NodeTypes.AuthoredLinkToPage, publishingWeb.GlobalNavigationNodes);
    publishingWeb.Update();
    

    【讨论】:

      【解决方案2】:

      是的,您可以这样做。

      我也有几乎相同的要求。我通过以下方式完成了这项任务

      1. 创建用于读取 excel 文件并创建菜单的 webpart
      2. 使用 sharepoint 设计器打开母版页并注释呈现顶部导航的行并将新 Web 部件放在那里
      3. 在其子网站中继承此母版页。

      如果您需要更多帮助,请询问我,我可以帮助您

      【讨论】:

        【解决方案3】:

        哇,这似乎是一个非常糟糕的主意。为什么不使用 SharePoint 列表来填充静态菜单?创建更容易,速度更快,因为它不需要打开 Excel 工作表,并且您可以根据需要从 Excel 工作表中复制和粘贴值。

        或者,我使用 Excel 工作表来收集有关 SharePoint 网站结构的数据,例如哪些站点、模板和子站点等。从该 Excel 工作表中,我生成一个脚本,使用 http://stsadm.blogspot.com 中的命令构建站点结构 这样,您的菜单将遵循 Excel 工作表的数据,并且不会有笨拙的自定义代码。

        【讨论】:

          【解决方案4】:

          有两种方法可以实现这一点 - 在现有 SharePoint 导航结构中添加/删除节点,或者更改菜单控件使用的数据源。

          要修改标准导航设置(导航自定义继续工作,因为它通常开箱即用)使用方法

          web.Navigation.TopNavigationBar
          

          另一个选项涉及编辑母版页(或适当的委托控件)并更改 AspMenu 和 SiteMapDataSource 元素以使用不同的 SiteMapProvider。您可以创建自己的实现,也可以使用从 xml 文件读取的开箱即用的实现。如果您选择此选项,用户将无法通过导航设置编辑菜单。

          【讨论】:

            猜你喜欢
            • 2017-04-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-03-14
            • 1970-01-01
            • 2011-03-20
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多