2012-02-10 51 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