基于子域的不同微站点蒙皮 Plone 3.3.4 collective.xdv的版本 总结

基于子域的不同微站点蒙皮 Plone 3.3.4 collective.xdv的版本 总结,plone,xdv,Plone,Xdv,根据请求中使用的URL,寻找关于如何使用xdv将不同皮肤应用于同一站点的建议 正文 要求 我们需要几个微站点,每个站点都有自己的皮肤,并且与主站点不同。 微站点应具有主站点内容的子集。主站点内容的一部分在微站点上不可见,但这可以通过简单地隐藏指向这些部分的链接来实现,这些链接来自导航、站点地图和portlet。如果用户通过URL黑客攻击发现隐藏的内容也没关系。微型网站的HTML应该是可定制的。 每个微站点应通过主站点的子域访问。 i、 e.让主站点在,微站点在,等等 客户端希望能够激活一个新的微

根据请求中使用的URL,寻找关于如何使用xdv将不同皮肤应用于同一站点的建议

正文 要求 我们需要几个微站点,每个站点都有自己的皮肤,并且与主站点不同。 微站点应具有主站点内容的子集。主站点内容的一部分在微站点上不可见,但这可以通过简单地隐藏指向这些部分的链接来实现,这些链接来自导航、站点地图和portlet。如果用户通过URL黑客攻击发现隐藏的内容也没关系。微型网站的HTML应该是可定制的。 每个微站点应通过主站点的子域访问。 i、 e.让主站点在,微站点在,等等

客户端希望能够激活一个新的微站点,而无需额外开发,只需一些html、css和图像文件,并向apache配置添加virtualhost

可能的解决方案 collective.xdv听起来不错,但我们还没有弄清楚如何让它根据URL选择不同的theme.html文件。大多数解决方案似乎专注于创建基于Plone站点子文件夹的子站点。我们不希望微站点有不同的内容,只是不同的外观(以及一些隐藏在导航中的内容),所以我们不希望为每个微站点创建一个新文件夹

我们想尝试的两个想法是A)自定义主模板,让它为每个子域的html正文添加不同的类,然后使用查找该类的xdv规则,以及b)修补发布者以基于子域执行某些操作

另一种方法是将collective.xdv分支以修改其“备用主题”,因此它将使用URL选择主题

还有什么我们可能错过的吗


谢谢

> P>你应该考虑迁移到最后一个PLON 4.1版本。使用全新闪亮的
plone.app.theming
(仅适用于plone>4.1),您可以在diazo(以前的xdv)规则文件中使用
主题参数,例如
$host
变量(或您可能希望为用例设置的任何自定义参数,可通过plone.app.theming控制面板配置)。如果您一直使用
Plone3.x/collective.xdv
,那么最好的选择是在Web服务器中设置头,例如(Nginx示例)


并从请求中访问它们。

Diazo/plone.app.theming还提供主机名作为主题的参数,因此您应该能够在主题条件下直接使用主机名,例如。很遗憾他们不得不使用相同的规则文件。。。他们必须使用相同的规则文件吗?
location / {
...
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-XDV "true";
proxy_set_header X-Subsite "sub-a";
}