2013-04-11 57 views
1

我有一个Plone服务器,我正在建立重氮主题。主题通过构建出现在资源目录设置中。主题出现在现场的Diazo控制面板中,可以启用,并且所有工作都按预期进行。但是,当我对文件系统上的CSS进行更改时,这些更改不会在网站上生效。Diazo CSS更改不反映网站

这些站点设置了一个开发URL(指向始终处于开发模式的客户端)。该服务器上的站点的生产URL指向Varnish/HaProxy,在未处于开发模式的其他客户端之间进行负载平衡。

CSS更改立即可用于开发URL(绕过varnish/haproxy)。我尝试在开发和生产URL中的ZMI中的portal_css上单击“保存”,我尝试通过重氮控制面板重新安装主题。我也尽可能地重启了集群。

我的猜测是这是一个plone.app.caching问题,但我不确定。

望着响应头,我看到下面的(我相信培训相关位)有问题的CSS文件:

缓存控制最大年龄= 86400,代理重新验证,公共 日期星期四,11 2013年4月19点54分33秒GMT 过期周五,2013年4月12日19点33分13秒GMT X-缓存操作plone.app.caching.strongCaching X-缓存规则plone.resource

任何想法,将不胜感激。

回答

3

当Plone处于前景(开发)模式时,它会监视模板和其他文件系统资源的变化,这些变化都是单独提供的。当它不处于开发模式时,它会合并(烹饪)CSS和JS资源以实现高效传送。这只在启动时和资源注册表项更改时完成。

对于生产系统,您需要重新启动Zope/Plone才能在文件系统资源中注册更改。你可能能够通过强制资源注册表重新获得资源来获得您的更改。为此,请访问ZMI中的portal_css并重新提交资源列表表单。

+1

谢谢史蒂夫。如果我理解正确,我相信我已经做到了。通过添加到portal_css,滚动到底部并点击“保存”。作为测试,我重命名了Diazo主题中的css,并更改了HTML文档以反映这一点,并单击了portal_css中的保存按钮,它似乎已经奏效。但是如果你只是改变CSS中的代码,它就不起作用。 – cthomas1978 2013-04-12 01:37:58

+0

除非你在前台模式下运行,否则Plone不会注意到Diazo资源的变化,包括HTML主题文件。 – SteveM 2013-04-12 15:07:51

+0

那种不幸。对我来说关于Diazo的一件事是,它让Plone在设计/主题方面摆脱了自己的方式。我们需要能够“动态地”将设计元素更改或添加到网站部分。我希望能够完成这一切,而不在ZMI。 – cthomas1978 2013-04-12 17:39:36