我希望能够使管理员能够更改当前正在为他们使用的主题。可能通过设置cookie或特殊url。这将使他们能够调试其主题的副本,而其他所有人都可以使用另一个版本。
发布于 2012-02-17 21:47:46
我已经做了一些类似的事情,它使用主机名来决定使用哪个重氮主题。使用不同的rules.xml、index.html和自定义资源没有问题。主题插件是另一回事(覆盖、视图、浏览器层等),我不知道在每次请求时注册/注销主题插件有多好。
我回家后会更新这条评论,这样你就可以看到我做了什么。如果我没记错的话,我子类化并替换了从plone.app.theming (应用主题的组件)注册的东西。
发布于 2012-02-10 20:45:13
支持这一点需要在plone.app.theming上进行工作,以便可以为不同的CMF皮肤配置不同的重氮主题。它在我的路线图上,但我不知道我什么时候能做到。如果您有兴趣开发此功能或赞助此功能,请与我联系。
发布于 2012-02-13 17:00:23
我没有尝试过这个,但它可能是这样工作的:
为当前使用的主题定义一个参数。请注意,您需要在portal_ skins /manage_propertiesForm中启用“允许选择任意皮肤
[theme:parameters]
theme = python:self.context.REQUEST.get('plone_skin', 'Plone Default')并根据rules.xml中的此参数选择主题或规则集
<theme href="theme1.html" if="$them = 'special theme'"/>
<theme href="default.html" if="$them = 'Plone Default'"/>https://stackoverflow.com/questions/9223831
复制相似问题