我是新生活。所以,我只想解释一下我的情况。

实际上,我的网页上有两个portlet-一个在左侧,另一个在右侧:


他左侧的portlet包含两个超链接,分别是demo1和demo2。
我还有另外两个portlet,分别是demo1Portlet和demo2Portlet。
代替右侧的portlet,“ demo1Portlet”将显示为
默认。
现在我要做的是,如果我单击demo2链接,则在右侧
Portlet将更改,并且将显示“ demo2Portlet”,如果我单击
在demo1链接上,然后它将在右侧显示“ demo1Portlet”。


谁能知道我该如何完成这项任务?

请尽快回复我。

我是liftray的新手,所以我不知道这可以通过IPC来实现,也可以不用它来实现。请说明将采取何种方式。

谢谢。

最佳答案

使portlet相互交谈有两种不同的方法。大多数内容都包含在IPCdescendant pages的文档中。

就您而言,您应该真正查看client-side页:

用你的基本结构

<a href="javascript:void(0)" class="comm-demo">demo[number]</a>


您将在“传送器portlet”上使用此JS:

// you may need to have jQuery instead of $. Liferay may have its own
// $ function which jQuery shouldn't mess with.
$( function () {
      $('a.comm-demo').click( function(event) {
           var txt = $(this).next().val(); // demo<number>
           Liferay.trigger('click', {text: txt});
           return false;
      });
 });


然后在“接收portlet”上:

 Liferay.bind(
      'click',
      function(event, data) {
           var txt = data.text;
           // this will set all class-of-fields to have the text
           // "demo<number from above>Portlet"
           $('.class-of-fields')[0].html(txt + "Portlet");
           // I believe there is a way to minimize/maximize a portlet by
           // simulating a mouse click, but research would be needed to
           // confirm.
 });

07-26 02:17