2014-09-25 77 views
0

我對CSS比較陌生,對Liferay來說很新。我有一個我正在嘗試構建的自定義主題。僅用於測試,我試圖更改頁面上portlet的標題文本顏色。在我的custom.css,我有liferay中沒有顯示主題變化

.portlet-title { 
    float: none; 
    font-weight: bold; 
    min-width: 50%; 
    padding: 5px; 
    text-shadow: 1px 1px #FFF; 
    color: #800000; 
} 

我假設這是正確的類,因爲添加的顏色在Firefox中檢查這個類下改變顏色。然而,當我部署的主題,它將恢復爲

.portlet-title { 
     float: none; 
     font-weight: bold; 
     min-width: 50%; 
     padding: 5px; 
     text-shadow: 1px 1px #FFF; 
} 

,如果我的ftp爲主題的文件夾,我所做的更改仍然在custom.css。出於某種原因,當主題在Liferay中呈現時,它會在我做出更改之前恢復爲css。我已經嘗試了所有我知道的嘗試,包括清除瀏覽器緩存。有什麼想法嗎?

+0

確保你正在修改_diff文件夾。 – Danish 2014-09-26 04:36:52

+0

可能的重複:http://stackoverflow.com/questions/26037640/liferay-when-i-build-the-war-my-changes-are-removed/26037992#26037992 – 2014-09-29 12:52:59

回答

1

這聽起來像是你直接更新網絡服務器上的文件(「ftp主題文件夾」),而不是正確地更改它,在開發環境中構建新的主題。

Liferay縮小了CSS(和javascript),將所有CSS文件連接成一個並消除空白。還有SASS處理。所有這些都被緩存了,所以很有可能Liferay不會在沒有重新部署新主題的情況下檢測到您的更改。

使用主題的「原始」開發版本,在那裏進行更改(在_diffs文件夾中)並構建更新的主題插件。將其部署到Liferay中,並且將更改這些更改。

0

將以下屬性添加到您的JAVA_OPTS並檢查?

JAVA_OPTS="-Dexternal-properties=portal-developer.properties" 
1

的事情,可能是原因+補救每個:

  1. 保證不對的顯影劑性能在使用和fast.load.css和和fast.load.js屬性是在你的地方portal-ext.properties: 例如 - 在{tomcat} /bin/setenv.sh中: -Dexternal-properties=portal-developer.properties如上所述,而 在portal-ext.properties中設置爲:theme.css.fast.load=falsejavascript.fast.load=false

  2. 確保從IDE/Liferay SDK開始構建,基於對_diffs文件夾所做的更改並將這些更改部署到您的Liferay節點。熱部署可以通過將theme.war文件推送到Liferay/deploy目錄來完成。如果在負載平衡器後面使用的應用程序服務器上的應用程序服務器上的多於一個,請確保將更改部署到羣集的所有節點上。

  3. 您可能需要停止Liferay,然後清理應用程序服務器的/ temp和/ work文件夾。這進一步確保了一些預先緩存的文件沒有被呈現給客戶端。

  4. 啓用CDN?應用程序層前面是否有一個清漆(或其他)緩存機制? - 您是否正在使用Liferay CDN功能(Liferay Portal Settings主屏幕)來緩存.js,.css,圖像和其他文件以緩解Liferay的壓力?禁用CDN功能或查看您的緩存方法,以確保您的最新文件作爲要緩存的新版本被「看到」。有些人在Liferay之前建立了一個www層,並將他們的主題(和其他)文件複製到它所提供的www層。如果這是您的體系結構,則需要確保將新主題文件的副本也複製到www層。

  5. 清理您正在測試的任何瀏覽器的緩存,或者使用「隱私瀏覽」或「隱身」窗口來確保您沒有從瀏覽器緩存中加載任何內容。