私たちのLiferayサーバーは非ルートコンテキストでセットアップされています。ポータル コンテキストは次のように設定されます - portal.ctx=/lportal
この結果、私たちが開発したテーマは機能しません。画像 css がルート以外のコンテキストで読み込まれていません。また、ポートレットにあるカスタム css もロードされていません。
これを修正する方法の手がかり。
よろしく、 ティナ
私たちのLiferayサーバーは非ルートコンテキストでセットアップされています。ポータル コンテキストは次のように設定されます - portal.ctx=/lportal
この結果、私たちが開発したテーマは機能しません。画像 css がルート以外のコンテキストで読み込まれていません。また、ポートレットにあるカスタム 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 などへのリンクは /foo/your-theme の下で正常に機能します。
Liferay とは関係なく、テーマは常に独自の Web コンテキストとして展開されることに注意してください。したがって、Liferay が http://www.example.com/lportal にデプロイされると、テーマは http://www.example.com/my-theme にデプロイされ、そこから画像を参照する必要があります。
Apache が 404 エラーを生成している場合は、リクエストがアプリケーションサーバーに転送されていることを確認してください。通常、/lportal を Liferay に転送するように mod_jk や mod_proxy などを設定している場合は、/my-theme も転送する必要があります。
それでも問題が解決しない場合は、動作しないバージョンやサンプル css など、さらに詳しい情報を提供してください。生成されるものも含まれます。