0

我的客户想要为 SharePoint 应用程序提供 2 个主题。在 MOSS 2007 中是否有实现这一目标的策略?

我们希望应用基于用户配置文件的主题选择,甚至可能应用下拉菜单来切换模式。

4

4 回答 4

1

我不知道你希望你的重新主题有多广泛。但是,如果它可能是纯 CSS 的,您可以使用这种方法:

  1. 将不同主题的 CSS 文件存储在样式库中。

  2. 创建一个存储用户及其选择的主题的列表。

  3. 编写功能和自定义应用程序页面以允许用户更改他们的主题。

  4. 编写一个控件,针对当前用户在列表上进行查找,并获得对样式库中相应 CSS 文件的引用。然后该控件会将CssRegistrationCssLink控件输出到该文件的页面。

  5. 将此控件添加到母版页,以便它在每个页面上执行(应添加缓存)。

我不明白为什么微软不支持这一点,因为您只是在更改 CSS。

如果您需要做的不止这些,那么另一个选择是编写一个更改 HTML 输出的 HTTP 模块。或者当然是 JavaScript。使用这两个选项,您可能会遇到可支持性问题(这取决于您的更改范围有多大)。

于 2009-07-24T08:39:34.727 回答
1

Bjørn Furuknap的 Codeplex 现在还提供了 SPThemes。用户可以选择自己的主题,并且可以应用于不同的范围。

于 2009-08-20T14:38:42.777 回答
0

以下是我从研究和反馈中得出的选项。这两者似乎大多是不可行的。

  • 在 JavaScript 中实现主要的 UI 布局更改。这将导致客户端速度变慢,难以编码,并且由于需要引用可能随后续 SharePoint 补丁而更改的 SharePoint 对象,因此 Microsoft 将完全不支持。

  • 提供两个基于相同数据的并行主题站点,并提供在它们之间切换的方式。这将要求我们将每个站点部署到多个位置,并且需要在代码中重新调整任何站点创建机制(因为它们需要针对两个站点而不是一个站点)。

于 2009-07-23T19:55:50.460 回答
0

您可以尝试的另一件事是使用来自codeplex的Theme Changer 和 ThemeChangerStaple,这是作为功能实现的,您可以使用相同的代码逻辑通过一些修改来归档您想要的内容,将其作为使用 CustomAction 的用户的选项。

于 2009-07-24T04:02:34.787 回答