我的客户希望为SharePoint应用程序提供2个主题。在MOSS 2007中是否有实现这一目标的策略?
我们希望应用基于用户个人资料的主题选择,甚至可以使用下拉菜单切换模式。
答案 0 :(得分:1)
我不知道你希望你的重新训练有多广泛。但是,如果它只能是CSS,你可以使用这种方法:
在样式库中存储不同主题的CSS文件。
创建一个存储用户及其所选主题的列表。
撰写功能和custom application page以允许用户更改其主题。
编写一个控件,针对当前用户对列表执行查找,并获取对样式库中相应CSS文件的引用。然后,控件会将CssRegistration和CssLink控件输出到此文件的页面。
将此控件添加到母版页,以便在每个页面上执行(应添加缓存)。
我不明白为什么微软不支持这一点,因为你只是在改变CSS。
如果您需要做更多的事情,那么另一个选择是编写一个更改HTML输出的HTTP模块。或者当然是JavaScript。有了这两个选项,您可能会遇到支持性问题(这取决于您的更改的范围)。
答案 1 :(得分:1)
BjørnFuruknap现在还提供SPThemes Codeplex。用户可以选择自己的主题,也可以在不同的范围内应用。
答案 2 :(得分:0)
以下是我从研究和反馈中得出的选项。这两者似乎都是不可行的。
在JavaScript中实现主要的UI布局更改。这会导致客户端速度降低,代码难以编码,并且由于需要引用可能随后续SharePoint修补程序而更改的SharePoint对象而完全不受Microsoft支持。
根据相同的数据提供两个并行的主题网站,并提供一种在它们之间切换的方法。这需要我们将每个站点部署到多个位置,并且需要在代码中重新组装任何站点创建机制(因为他们需要定位两个站点而不是一个站点)。
答案 3 :(得分:0)
您可以尝试的另一件事是使用codeplex中的 Theme Changer和ThemeChangerStaple ,这是作为功能实现的,您可以使用相同的代码逻辑来存档您想要的位修改,使用CustomAction将其作为用户的选项。