我們的Liferay Server設置在非root用戶環境中。門戶上下文設置爲 - portal.ctx =/lportal在非root用戶環境下運行的Liferay中部署主題和portlet
由於此原因,我們開發的主題不起作用。圖像css不在非根上下文中加載。 此外,Portlet擁有的那些自定義CSS也未加載。
任何關於如何解決這個問題的線索。
問候, 蒂娜
我們的Liferay Server設置在非root用戶環境中。門戶上下文設置爲 - portal.ctx =/lportal在非root用戶環境下運行的Liferay中部署主題和portlet
由於此原因,我們開發的主題不起作用。圖像css不在非根上下文中加載。 此外,Portlet擁有的那些自定義CSS也未加載。
任何關於如何解決這個問題的線索。
問候, 蒂娜
注意,主題總是被部署爲自己的網絡語境 - 獨立的Liferay。因此,當Liferay部署在http://www.example.com/lportal時,您的主題部署在http://www.example.com/my-theme,並且應該從那裏引用圖像。
如果Apache正在生成404錯誤,請確保它將請求轉發到您的應用服務器。通常情況下,如果您有mod_jk或mod_proxy或配置爲向Liferay轉發/插入的類似配置,則還需要轉發/ my-theme。
如果這沒有幫助,請提供一些更多信息,如版本和示例css不起作用,包括它生成的內容。
我們遇到了同樣的問題,我們通過使用應用服務器的自定義部署描述符來解決它。
我們正在使用的WebLogic,所以我們增加了一個weblogic.xml
文件的主題,具有context-root
指令指定的非根上下文:
<?xml version="1.0"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
<context-root>/foo/your-theme</context-root>
</weblogic-web-app>
說明與Tomcat或JBoss的做,這應該是相當類似的。
然後你還可以在Liferay的主題描述符(liferay-look-and-feel.xml
)
<?xml version="1.0"?>
<!DOCTYPE look-and-feel PUBLIC "-//Liferay//DTD Look and Feel 6.0.0//EN" "http://www.liferay.com/dtd/liferay-look-and-feel_6_0_0.dtd">
<look-and-feel>
<compatibility>
<version>6.1.10+</version>
</compatibility>
<theme id="foo-theme" name="Foo Theme">
<virtual-path>/foo/your-theme</virtual-path>
</theme>
</look-and-feel>
指定虛擬路徑重新部署主題,鏈接到CSS後的JavaScript等將是工作的罰款在/富/您-主題。
謝謝奧拉夫。但不知何故,這是行不通的。對於我的portlet或主題引用的所有css,js和圖像,我得到一個404錯誤。 - 我得到404沒有發現所有的CSS錯誤,js - http:// /my-theme/js/jquery-1.6.2.min.js?browserId=firefox&minifierType=js&languageId=en_US&b=6120&t=1351681594000) –
我正在使用liferay 6.1 EE SP2。它可能是由於一些Apache配置? –
當然 - 如果Apache沒有將/ my-theme轉發給你的應用服務器,那麼你無法訪問它們。您可以通過檢查404消息來了解是否屬於這種情況:如果它是由Apache生成的,則您的應用程序服務器甚至沒有聯繫。如果它是由(例如)tomcat生成的,那麼你有一個部署問題。伴隨着狀態代碼的信息應清楚地表明其產生的地方。此外,您可能想從防火牆後面嘗試,直接點擊沒有Apache的應用服務器來測試。編輯我的答案以包含更多信息 –