問題
- 再現手順
- Liferay-blad-samplesのgitリポジトリからsoy-portletをビルドし、Liferay DXP 7.2にデプロイします
- soy-portletをデプロイ後
- ページに追加しても問題なく動作します
- 2つ目のsoy-portletを共通のコンポーネントでデプロイします
- JSがロードされません
- 以下のUIエラーが発生しています
- UI エラー
環境
- Liferay 7.2
理由
- SoyPortletRouterが作成されると、this.initializeRoutes_()を呼び出し、複数のRouterを作成します。 ルータのひとつは DefaultRoute_() で、これはどのようなリクエストも処理します。したがって、2つの soy-portlets がある場合、最初のものは起動され、2番目のものは実行されません
解決
- 1ページに1つのSoyPortletだけを追加することができます
- 製品の制限
追加情報
- Soy portletsは非推奨になり、Liferayは7.2のドキュメントからも削除しました
- SoyにはLiferay内に多くの制限があったため、Soyから離れることを選択しました
- Liferayが修正できない制限など、途中で多くの問題に直面する可能性が高くなります
- これらの理由により、Liferayは、BladeCLIテンプレートとしても利用できるreactなどの他のUIフレームワークを推奨しています