legacy-knowledge-base
公開されました Sep. 10, 2025

同じページで機能するsoy-portletは1つだけです

written-by

Kanchan Bisht

knowledge-article-header-disclaimer-how-to

knowledge-article-header-disclaimer

legacy-article

learn-legacy-article-disclaimer-text

問題

  • 再現手順
  1. Liferay-blad-samplesのgitリポジトリからsoy-portletをビルドし、Liferay DXP 7.2にデプロイします
  2. soy-portletをデプロイ後
  3. ページに追加しても問題なく動作します
  4. 2つ目のsoy-portletを共通のコンポーネントでデプロイします
  5. JSがロードされません
  6. 以下のUIエラーが発生しています
  • UI エラー WithSecondSoyPortlet__2_.png
  • Js-NotLoading.png

 

環境

  • 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フレームワークを推奨しています

 

 

 

did-this-article-resolve-your-issue

legacy-knowledge-base