【问题标题】:MOSS to have a certain page available in all sitesMOSS 在所有站点中都有某个页面可用
【发布时间】:2011-06-25 09:05:47
【问题描述】:

我有一个 MOSS 发布站点,说它是 http://dev。它基本上是一个杂志网站,每个月都有一期,所以它是 dev/2011-01、dev/2011-02 等等。

有一些通用页面,如 About.aspx、ContactUs.aspx,应该可用于所有问题。我不想在每个问题/站点中创建这些页面。我知道我们可以将页面放在 TEMPLATE\LAYOUTS 文件夹中。

但我不是很喜欢它,因为我希望页面驻留在 dev/Pages 文件夹中,所以它在 1 个存储库中,而不是在这里和那里。

还有其他方法可以实现吗?就像一个自定义处理程序,它将请求从 dev/2011-01/Pages/About.aspx 定向到 dev/Pages/About.aspx。

【问题讨论】:

    标签: sharepoint-2007


    【解决方案1】:

    您总是可以写一个HttpHandler 来重定向这些页面的请求。

    但是,最好的方法是

    • 将这些页面放在一个功能中
    • 使用Module 部署功能GhostableInLibrary=TRUE
    • 在所有杂志网站上激活该功能。

    这样,您的页面将驻留在功能文件夹中的文件系统上,但在所有网站上都将显示为幻影文件。您可以升级功能来升级文件。

    【讨论】:

    • 谢谢!我试过了,但发现错误。我的 elements.xml 如下 schemas.microsoft.com/sharepoint"> 它说无法从模块“GeneralPages”实例化文件“About.aspx”:找不到源路径“About.aspx”。
    • 我无法从中看出任何东西。我需要知道特征字段和 aspx 文件的结构。为此发布一个新问题
    • 我创建了一个新问题,stackoverflow.com/questions/4967485/…
    【解决方案2】:

    我不确定您为什么需要自定义处理程序。要么您正在利用导航,这意味着这些页面存在于每个子站点上,要么您正在手动输入 URL。如果是后者,为什么不指向根站点上的URL呢?

    当我过去做过类似的事情时,我创建了一个自定义母版页,并将 URL 添加到左侧导航或页脚(或两者)中的根站点中的页面。您应该能够使用以下样式的 URL:~sitecollection/Pages/About.aspx

    【讨论】:

      猜你喜欢
      • 2010-12-31
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 2014-02-07
      • 1970-01-01
      • 2016-10-07
      相关资源
      最近更新 更多