通过onet.xml文件更新SharePoint网站

时间:2010-02-19 12:13:47

标签: sharepoint

我已在SharePoint onet.xml文件中更新了网站定义,因此在网页上创建的网站没有特定的网页。

但是我读过,只有在首次创建站点时才会读取onet.xml文件。

我是否有办法让现有网站刷新?

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

3 个答案:

答案 0 :(得分:1)

我认为从代码遍历每个站点是非常实用的?手动执行可能不是。

如果安装stsadm扩展,您甚至可能不需要编写代码。 例如,您可以使用this command删除项目,并且它具有使用。

枚举网站的命令

答案 1 :(得分:1)

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

  1. 遍历每个网站&创建页面是您留下的选项。
  2. 您可以做的另一个替代方案是,您可以创建一个功能,用于配置网页文件并在每个网络中激活它。
  3. 最后我想到的一个选项是将页面放在_Layouts中(如果你真的反对上述两个选项)

答案 2 :(得分:1)

不要修改 onet.xml,因为在更新sharepoint时可以覆盖此文件!

如果要更新SPWeb,循环使用SPSite.AllWebs并不是不切实际的。当然,如果每次项目或其他任何更改都运行此代码,那将是不切实际的,但如果您只需要偶尔触发此代码,那么这不是问题。

哦,对,但是如果你添加新网可能会有问题。好吧,Kusek已经为您提供了answer

  

你可以做的另一个替代方案是   你可以创建一个功能   配置网页文件并激活   它在每个网络中。

这叫做feature stapling。在创建Web时激活您的功能并对该Web进行修改。