3

我希望能够让管理员更改当前只为他们使用的主题。可能通过设置 cookie 或特殊 url。这将使他们能够调试他们的主题的副本,同时另一个版本可供其他人使用。

4

3 回答 3

3

支持这一点需要在 plone.app.theming 上工作,以便可以为不同的 CMF 皮肤配置不同的重氮主题。它在我的路线图上,但我不知道什么时候能实现。如果您有兴趣开发此功能或赞助它,请与我联系。

于 2012-02-10T12:45:12.833 回答
1

我做了类似的事情,使用主机名来决定使用哪个重氮主题。使用不同的 rules.xml、index.html 和自定义资源没有问题。主题插件是另一个故事(覆盖、视图、浏览器层等),我不知道在每个请求上注册/取消注册主题插件有多好。

我回家后会更新这条评论,这样你就可以看到我做了什么。如果我没记错的话,我继承并替换了从 plone.app.theming (应用主题的组件)注册的东西。

于 2012-02-17T13:47:46.347 回答
0

我没有尝试过,但它可能会这样工作:

为当前使用的主题定义一个参数。请注意,您需要在 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'"/>
于 2012-02-13T09:00:22.773 回答