设计师友好的更新 WSS 3.0 主题的方法

发布于 2024-07-25 14:25:43 字数 1166 浏览 4 评论 0原文

有时我喜欢 MOSS 2007,有时我想把它扔到窗外。 这是它应该消失的时代之一。

我正在尝试为设计师提供一种简单的方法来更新我们网站的 WSS 3.0 主题。 网站集中的每个网站都使用此主题。 作为更新主题的方法,以下内容对设计者不友好(特别是步骤 4)...

  1. 设计者对 theme.css 进行编辑并将其复制到生产环境
  2. 将所选主题更改为站点设置中的任何其他主题
  3. 执行 IISRESET
  4. 重新应用站点设置中的主题

请记住,子站点不会继承主题。 此外,很多时候上述还不够,您还必须更新 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 解决方案,该解决方案在场中不可扩展。

Sometimes I love MOSS 2007, and sometimes I want to throw it right out the window. This is one of those times it should go out the window.

Im trying to come up with an easy way for a designer to update a WSS 3.0 Theme for our site. This theme is used by every site in the site collection. The following is not designer friendly (specifically step 4) as a way to update the theme...

  1. Designer makes edits to theme.css and copies it to production
  2. Change selected theme to any other theme in site settings
  3. Perform an IISRESET
  4. Re-Apply the theme in site settings

Keep in mind Themes are not inherited by subsites. Also, many times the above doesnt suffice and you also have to update the theme.inf file to increment the "version" and "format" below.

[info]
title=ThemeName
codepage=65001
version=3.10
format=3.10
readonly=true
refcount=0

Now, I have tried including into our Branding feature (which sets the masterpages and sets the theme for new sites) the ability to reset the theme. But, this doesn't really work (using an asp button to set to Wheat and another button to set it back to the custom theme). It doesn't work probably because it's not restarting IIS and updating the version numbers in the mentioned theme.inf above.

    for (int x = 0; x < SPContext.Current.Site.AllWebs.Count; x++)
    {
        using (SPWeb site = SPContext.Current.Site.AllWebs[x])
        {
            site.ApplyTheme(themeName);
            site.Update();
        }
    }

So... Have you provided a solution for your designers as a way to update/reset a Theme? If so, what was your solution? Your answer should NOT be Heathers solution, which is NOT scalable in a Farm.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空气里的味道 2024-08-01 14:25:43

我从不关心主题。 他们只是一种痛苦。
我们的设计师创建自定义 CSS、母版页和页面布局。
自定义图像可以放入样式库或 12-hive 中。 所有子站点的更改都是即时的,因为它们都引用根站点的工件。

如果它必须是一个主题,那么将其开发为自定义 CSS 并稍后将其构建到主题中仍然会更容易。

您可以直接在设计器中编辑主题。 应用主题后,它会被复制到站点中,您可以在其中更改它并立即查看结果。 不过,不要忘记再次将其复制出来。

I never bother with themes. They are just a pain.
Our designers create a custom css, masterpages and page layouts.
Custom images can go in the style library or 12-hive. Changes are instantaneous to all subsites since they all reference the artifacts from the root site.

if it -has- to be a theme it is still easier to develop it as a custom css and build it into a theme later.

You can edit themes directly in designer. Upon applying a theme it is copied into the site where you can change it and see the result immediately. Don't forget to copy it out again though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文