2010-02-19 94 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。在網絡創建時激活您的功能並對該網絡進行修改。