2010-02-19 85 views
0

我更新了SharePoint onet.xml文件中的网站定义,以便在网页上没有特定网页的情况下创建新网站。通过onet.xml文件更新SharePoint网站

但是我读过onet.xml文件只有在第一次创建站点时才被读取。

有没有办法让我现有的网站刷新?

循环遍历每个站点并进行更改,即使通过代码也不是真正的部分。

回答

1

我想循环通过代码中的每个网站是非常实用的?手动操作可能不会。

如果你安装了stsadm扩展,你甚至不需要为它编写代码。 例如,您可以使用this command删除项目,并且它有命令来枚举站点。

1

没有其他选项可以同步对onet.xml所做的更改,以反映在基于onet.xml创建的现有站点中。

  1. 循环浏览每个站点&创建页面是您留下的选项。
  2. 您可以做的另一个替代方法是您可以创建一个功能,该功能将提供网页文件并在每个网页中激活它。
  3. 最后一个选项,我能想到的是将在_Layouts页面(如果你真的对上述两个选项)
1

更新时,请不要修改 ONET.XML作为该文件可以被覆盖SHAREPOINT!

并且通过SPSite.AllWebs循环如果您想更新SPWeb并不是真的不切实际。当然,如果你每次运行这个代码或者其他任何改变都是不切实际的,但是如果你只是偶尔需要触发这段代码,那么这是没有问题的。

哦对,但如果您添加新的网络,可能会出现问题。那么,Kusek已经为您提供了answer

你可以做的另一种替代是 您可以创建一个功能,将提供 网页文件,并在每个网站的激活 它。

这就是所谓的feature stapling。在网络创建时激活您的功能并对该网络进行修改。

相关问题