我需要一个符合以下要求的解决方案:
似乎diazo不仅使用重氮主题的基本主题,而且还使用“未主题的主机名”。在diazo的“@@ theming-controlpanel”中设置基本主题实际上会更改站点的默认外观。
我发布了一个使用重氮与editskinswitcher结合的解决方案:https://stackoverflow.com/a/23130398/1659599。我想知道如果不使用editskinswitcher这是否可行。
答案 0 :(得分:2)
查看collective.behavior.localdiazo包。
您可以在http://www.cfa.org.br/rba网站中查看该广告,其主题与http://www.cfa.org.br/主网站不同。
RBA是Microsite的一个实例,是sc.microsite中定义的基于敏捷的内容类型。
答案 1 :(得分:0)
您肯定需要一种机制来为您网站的不同部分激活不同的皮肤。 editskinswitcher是这里的一个选择。
你也可以编写自己的遍历器来应用正确的浏览器层并修补portal_skins工具。
另一种方法是允许在portal_skins中选择皮肤,并通过请求变量设置皮肤。 这里概述了这个概念:https://dev.plone.org/ticket/10311
答案 2 :(得分:0)
你需要换皮肤吗?或者是否足以改变重氮主题,使用相同(或多或少中性)的plone皮肤?
我使用这种方法根据路径切换重氮规则集和index.html。两个重氮主题使用不同的资源:图像,样式,js等,并且非常不同。
我的rules.xml - 缩短了:
<?xml version="1.0" encoding="UTF-8"?>
<rules
xmlns="http://namespaces.plone.org/diazo"
xmlns:css="http://namespaces.plone.org/diazo/css"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- The theme for my "app" -->
<rules if-path="/app_path /site/app_path">
<theme href="index_app.html"/>
<!-- rules for the specific path -->
</rules>
<!-- The default theme, used for standard Plone web pages -->
<theme href="index.html" css:if-content="#visual-portal-wrapper" />
<!-- Rules applying to a standard Plone web page -->
<rules css:if-content="#visual-portal-wrapper">
<!-- rules for the rest of the site -->
</rules>
</rules>
使用p.a.theming主题参数的域应该是可行的:https://pypi.python.org/pypi/plone.app.theming#theme-parameters
并使用&#34;基于任意参数的条件&#34;来自http://docs.diazo.org/en/latest/advanced.html
(将if-path替换为if =&#34; $ host =&#39; domain&#39;&#34;)
UNTESTED! :)