有时我喜欢 MOSS 2007,有时我想把它扔到窗外。这是它应该走出窗外的时代之一。
我试图想出一种简单的方法让设计师为我们的网站更新 WSS 3.0 主题。网站集中的每个网站都使用此主题。以下对设计师不友好(特别是第 4 步)作为更新主题的一种方式...
- Designer 对 theme.css 进行编辑并将其复制到生产环境中
- 将所选主题更改为站点设置中的任何其他主题
- 执行 IISRESET
- 在站点设置中重新应用主题
请记住,主题不会被子网站继承。此外,很多时候上述内容还不够,您还必须更新 theme.inf 文件以增加下面的“版本”和“格式”。
[info]
title=ThemeName
codepage=65001
version=3.10
format=3.10
readonly=true
refcount=0
现在,我尝试在我们的品牌功能(设置母版页并为新站点设置主题)中包含重置主题的功能。但是,这并没有真正起作用(使用 asp 按钮设置为 Wheat 并使用另一个按钮将其设置回自定义主题)。它不起作用可能是因为它没有重新启动 IIS 并更新上面提到的 theme.inf 中的版本号。
for (int x = 0; x < SPContext.Current.Site.AllWebs.Count; x++)
{
using (SPWeb site = SPContext.Current.Site.AllWebs[x])
{
site.ApplyTheme(themeName);
site.Update();
}
}
所以...您是否为您的设计师提供了一种解决方案来更新/重置主题?如果是这样,您的解决方案是什么?您的答案不应该是Heathers 解决方案,它在农场中不可扩展。