【发布时间】:2010-02-19 20:42:11
【问题描述】:
我已经更新了 SharePoint onet.xml 文件中的网站定义,因此在页面上没有特定网页的情况下创建了新网站。
但是我读到 onet.xml 文件仅在首次创建站点时才被读取。
有什么方法可以让我刷新现有网站吗?
遍历每个站点并进行更改并不是很重要。即使是通过代码。
【问题讨论】:
标签: sharepoint
我已经更新了 SharePoint onet.xml 文件中的网站定义,因此在页面上没有特定网页的情况下创建了新网站。
但是我读到 onet.xml 文件仅在首次创建站点时才被读取。
有什么方法可以让我刷新现有网站吗?
遍历每个站点并进行更改并不是很重要。即使是通过代码。
【问题讨论】:
标签: sharepoint
我认为从代码循环遍历每个站点非常实用?手动操作可能不会。
如果您安装了 stsadm 扩展,您甚至可能不需要为它编写代码。 例如,您可以使用 this command 删除项目,它具有枚举站点的命令。
【讨论】:
没有其他选项可以同步对 onet.xml 所做的更改以反映在基于 onet.xml 创建的现有站点中。
【讨论】:
请勿修改 onet.xml,因为更新共享点时可能会覆盖此文件!
如果您想更新 SPWeb,那么循环访问 SPSite.AllWebs 并不是不切实际的。当然,如果每次项目或任何更改都运行此代码是不切实际的,但如果您只需要偶尔触发此代码,那么这没问题。
哦,对,但如果您添加新网站,可能会出现问题。好吧,Kusek 已经为您提供了answer:
你可以做的另一个选择是 您可以创建一个将 提供网页文件并激活 它在每个网络中。
这就是feature stapling。在网络创建后激活您的功能并为该网络进行修改。
【讨论】: