переключать темы диазо (plone.app.theming) на основе куки - PullRequest
3 голосов
/ 10 февраля 2012

Я бы хотел, чтобы администраторы могли выбирать, какая тема в настоящее время используется только для них. Возможно, установив cookie или специальный URL. Это позволит им иметь возможность отлаживать копию своей темы, в то время как другая версия доступна для всех остальных.

Ответы [ 3 ]

3 голосов
/ 10 февраля 2012

Для поддержки этого потребуется работа над темой plone.app.theming, чтобы различные темы диазо могли быть настроены для разных тем оформления CMF.Это на моей дорожной карте, но я не знаю, когда я доберусь до этого.Свяжитесь со мной, если вам интересно работать над этой функцией или спонсировать ее.

1 голос
/ 17 февраля 2012

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

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

0 голосов
/ 13 февраля 2012

Я не пробовал это, но это могло бы сработать так:

определить параметр для текущей используемой темы. обратите внимание, что вам нужно включить «Разрешить выбор произвольных скинов» в 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'"/>
...