2012-02-10 2 views
3

Я бы хотел, чтобы администраторы могли изменять, какая тема в настоящее время используется только для них. Возможно, установив файл cookie или специальный URL-адрес. Это позволит им иметь возможность отлаживать копию своей темы, а другая версия - для всех остальных.switch diazo (plone.app.theming) темы, основанные на cookie

ответ

1

Я сделал нечто похожее, которое использует имя хоста, чтобы решить, какую тему диазо использовать. Не было проблем с другими правилами. Xml, index.html и пользовательскими ресурсами. Тематипы - это еще одна история (переопределения, представления, браузер и т. Д.), Я не знаю, насколько хорошо регистрировать/отменять регистрацию themingplugins по каждому запросу.

Я обновлю этот комментарий, когда вернусь домой, чтобы вы могли видеть, что я сделал. Если я правильно помню, я подклассифицировал и заменил что-то, зарегистрированное из plone.app.theming (компонент, который применяет тему).

+0

звучит точно, что мне нужно. Рассматривали ли вы его отправку в качестве патча для p.a.theming? – djay

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

+0

Я не понимаю ваш комментарий. не уверены, что вам действительно нужны разные папки тем. вы можете просто скопировать слои слоя в portal_skins и правильно переименовать их. – fRiSi

Смежные вопросы