2011-07-21 19 views
4

Liferay EE 6.0 SP1を搭載したWebサイトの場合、一部のページで特定のポートレットの同じインスタンスを「共有」する必要がありますが、他のページには独自のインスタンスが存在する場合があります。Liferayでは、複数のページが同じポートレットインスタンスを共有できますか?

たとえば、ポートレットの背景色を変更する設定を持つポートレットを考えてみましょう。いくつかのページに、ポートレットが同じ背景色の好みを持っていることを

 
Home   (green) 
├─ About  (blue) 
│ └─ Contact (blue) 
├─ Products (orange) 
│ ├─ AXL-900 (orange) 
│ └─ VCC-218 (orange) 
├─ Support (red) 
│ └─ VIP  (gold) 
└─ Legal  (green) 

注:

は、我々は(そのページ上のポートレットの背景色は、このリストにはページ名を次の)以下のページを持っていると仮定します。これまでのところ、それは十分に簡単です。ポートレットの別のインスタンスを各ページに追加し、環境設定を適切に設定するだけです。

ただし、コンテンツマネージャはページごとに背景色を管理する必要はありません。たとえば、「About」ページ上のすべてのポートレットの背景色を同時に紫色に変更したいと考えています(これは意味がありますが、そうでなければマニュアルであることを自動化します)。 ]プロセス)。

たとえば、「About」ページと「Contact」ページのどちらも、ポートレットの同じインスタンスを使用する必要があります。または、別々のインスタンスを持つ必要がありますが、どちらのインスタンスも同じ優先値を共有します。あるいは、おそらく別のアプローチがあります。

これを行う方法はありますか?

答えて

1

これは、名前付きの設定のセットを作成し、各ページにポートレットの独自のインスタンスを持たせることです。

OPの例では、Productsページには、たとえば「オレンジ」設定を使用するように設定されるポートレットの一意のインスタンスがあります。ポートレットの設定に対する変更は、その後、「オレンジ色」の設定を使用して他のポートレットに影響を与えます。

詳細については、http://www.liferay.com/community/forums/-/message_boards/message/10361805#_19_message_10382903を参照してください。

0

独自のカスタムポートレットを使用していて、そのインスタンスが配置されているプレースメントによってインスタンス化可能か、インスタンス化できないようにしたいのですか。 (コメントのリンク上で言ったように)

一つの可能​​性はわずかに異なる名前を使用して、ポートレットの別のバージョンを展開することである(portlet1対portlet2)となりました別の1(portlet1)であなたが設定しているinstanceable別の(ポートレット2)にはインスタンス化不可能があります。これは良い方法ではありませんが、いくつかの箱から考えています。

また、インスタント可能なものを設定して、ポートレットウィンドウの設定をオンにし、別のポートレットの設定をオフにすることができれば、それは完璧ですが、それについてはあまりよく分かりません。たぶん、知っているGoogleや他の誰かが、自分の答えで助けてくれるかもしれません。

Btw。回答者が別の質問にコメントしても、これを見てみないとどうですか? Edit_1

: あなたのコメントの後、私は再びこの問題を調査し、そのアプリケーションLiferay pagesone forumに記載されてPortlet Prefencesプロパティを、見つけました。私が言及したフォーラムに関する少なくとも1つのコメントは、あなたが話していた行動に近いものでした。また、Liferayのページには、おそらく面白いタイプの設定の例がありました。

+0

申し訳ありません。私は他の質問へのリンクはちょっと誤解を招いていたと思います。私たちが探しているのは、ポートレットの複数のインスタンスを持つことですが、複数のページでインスタンスを共有できることです。たとえば、ポートレットの1つのインスタンスを共有する3つのページ、異なるインスタンスを共有する2つ以上のページ、3つ目のインスタンスを共有する8つのページなどがあります。 –

0

はい、これは、非instancableポートレットを作成し、それらのページのスコープを使用することによって可能です。ここでのLiferayのwikiページは、スコープにあります:http://www.liferay.com/community/wiki/-/wiki/Main/Scope

UPD: ポートレットの好みのためのスコープを制御することができLiferayの固有の設定がいくつもあります:「好み-全社」は、「環境設定 - ユニーク - パーlayout "と" preferences-owned-by-group "(すべてliferay-portlet.xmlで設定/設定解除されます)。ここではそれらの

より: http://content.liferay.com/4.3/doc/devel/liferay_4_portlet_development_guide/multipage/ch02.html そして、ここで: http://www.liferay.com/community/forums/-/message_boards/message/10931559/maximized

関連する問題