我是 SharePoint 的初学者,我需要创建具有多级菜单的发布网站。要求是级别不固定,并且客户端应该能够添加页面和自定义菜单。
如果我没有记错的话,页面只能在站点下的第一级创建。我没有看到类似文件夹概念的东西。出于导航目的,我可以添加标题,它将显示为另一个级别。如果我需要更多级别,我需要创建子站点。

Site
   Page1
   Page2
   Heading
     Page3

它是否正确?

Site
   Page1
   Page2
   Sublevel_1
     Page1_1
     Sublevel_2
        Page2_1
        Sublevel_3
            Page3_1
         ...

我可以在不创建 SharePoint 子网站的情况下执行类似操作吗?如果不需要,我将跳过编写一些自定义菜单控件或编写自定义 SiteMapProvider。我还需要编写 UI 来管理导航。

编辑:
我已设法在页面列表中创建文件夹,并创建(实际上移动)页面到该文件夹​​,甚至创建子文件夹,但它们没有显示在菜单上,甚至没有显示在导航设置页面中。我无法批准文件夹,无论我尝试什么,它都处于待处理状态。

我看起来这是不可能的 安德鲁·康奈尔:子文件夹是 不是 MOSS 发布网站的页面库支持

有帮助吗?

解决方案

您可以立即手动修改发布网站的导航。

我假设您正在寻求一种更自动化的方法来做到这一点。不幸的是,修改 PublishingWeb 导航的方法是通过对象模型和 PublishingWeb.CurrentNavigationNodes 对象,这将需要计时器作业或其他一些方法来在编辑/添加/删除页面时进行更新。

这并不简单,您仍然需要创建一个解决方案/功能包。另一种方法是创建自定义导航提供程序。这两个选项的问题(除了实际的编码和发布)是缓存导航结构。我们对保存导航结构的对象使用了标准网络缓存,但使用标准用户浏览(即。菜单代码本身)来刷新导航充满了线程问题。

其他提示

您可以在一个站点中创建多个文档库,然后将页面放入各个库中。这样您就不需要创建子站点

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top