2013-04-11 60 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