2012-10-31 65 views
1

我們的Liferay Server設置在非root用戶環境中。門戶上下文設置爲 - portal.ctx =/lportal在非root用戶環境下運行的Liferay中部署主題和portlet

由於此原因,我們開發的主題不起作用。圖像css不在非根上下文中加載。 此外,Portlet擁有的那些自定義CSS也未加載。

任何關於如何解決這個問題的線索。

問候, 蒂娜

回答

0

注意,主題總是被部署爲自己的網絡語境 - 獨立的Liferay。因此,當Liferay部署在http://www.example.com/lportal時,您的主題部署在http://www.example.com/my-theme,並且應該從那裏引用圖像。

如果Apache正在生成404錯誤,請確保它將請求轉發到您的應用服務器。通常情況下,如果您有mod_jk或mod_proxy或配置爲向Liferay轉發/插入的類似配置,則還需要轉發/ my-theme。

如果這沒有幫助,請提供一些更多信息,如版本和示例css不起作用,包括它生成的內容。

+0

謝謝奧拉夫。但不知何故,這是行不通的。對於我的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) –

+0

我正在使用liferay 6.1 EE SP2。它可能是由於一些Apache配置? –

+0

當然 - 如果Apache沒有將/ my-theme轉發給你的應用服務器,那麼你無法訪問它們。您可以通過檢查404消息來了解是否屬於這種情況:如果它是由Apache生成的,則您的應用程序服務器甚至沒有聯繫。如果它是由(例如)tomcat生成的,那麼你有一個部署問題。伴隨着狀態代碼的信息應清楚地表明其產生的地方。此外,您可能想從防火牆後面嘗試,直接點擊沒有Apache的應用服務器來測試。編輯我的答案以包含更多信息 –

2

我們遇到了同樣的問題,我們通過使用應用服務器的自定義部署描述符來解決它。

我們正在使用的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等將是工作的罰款在/富/您-主題。