2012-02-10 18 views
3

主题,我希望能够使管理员能够改变目前正在使用的只是他们其中的主题。可能通过设置cookie或特殊url。这将使他们能够调试他们的主题的副本,而另一个版本为其他人生活。开关重氮(plone.app.theming)基于cookie的

回答

1

我做了类似的东西,使用主机名来决定使用哪个重氮主题。不存在具有不同的rules.xml,index.html和自定义资源的问题。该themingplugins是另一个故事(覆盖,景色,browserlayer等),我不知道它有多好注册的每个请求/注销themingplugins。

,当我回家我会更新这条评论,所以你可以看到我做了什么。如果我没有记错我子类,而取代从plone.app.theming(适用主题组件)注册的东西。

+0

听起来正是我需要的。你有没有考虑过把它作为p.a.theming的补丁? – djay 2012-02-18 23:40:47

3

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

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'"/> 
+0

这可能只是什么是可能的工作后,让他们,而不是在1 rules.xml中 – djay 2012-02-14 11:14:11

+0

两个不同的主题文件夹和交换机我不明白您的评论。不知道你真的需要不同的主题文件夹。你可以复制portal_skins中的皮肤层并正确地重命名它们。 – fRiSi 2012-02-15 07:52:31