ウィジェット間の通信
ポートレットウィジェットは、パブリックレンダリングパラメータとイベントを使って相互に通信することができます。 Liferayポートレットの中には、この通信機構を最大限に活用するための設定UIを提供するものがあります。
- オプション() → [Configuration] → [Communication] タブの順にクリックします。
上のスクリーンショットはWiki を示しており、次の6つのパブリックレンダーパラメーターを持っています: categoryId
, nodeId
, nodeName
, resetCur
, tag
, and title
。 これらのパラメータそれぞれについて、他のポートレットから来る値を無視したり、他のパラメータから値を読み取るようにポートレット設定することができます。
ウィジェットがポートレットでない場合、この機能は利用できません。
他のポートレットからの特定のパラメーター値を無視したい場合があります。 例えば、Wiki・アプリケーションの一般的な使用例として、タグフィルタウィジェットと組み合わせ、ユーザーがタグフィルタのタグをクリックすると、Wikiにそのタグを持つページの一覧が表示されるようにします。 しかし、他のポートレットを経由したタグナビゲーションに関係なく、Wikiに常にフロントページを表示させたい場合は、他のウィジェットから来るパラメータ値を無視することができます。
他のポートレットからパラメータの値を読み取ることは、開発者が意図していなくてもポートレット同士の通信を可能にする、高度で強力なオプションです。 例えば、Wikiがある国の情報を公開しており、別のポートレットが管理上の理由で国名を表示しているとします。 第2のポートレットが 国の パブリックレンダーパラメーターを持つ場合、Wikiポートレットのタイトルパラメーターの値を管理ポートレットの国パラメーターの値から設定することにより、Wikiは管理ポートレットで選択した国の情報を表示することができます。