我是新生活。所以,我只想解释一下我的情况。
实际上,我的网页上有两个portlet-一个在左侧,另一个在右侧:
他左侧的portlet包含两个超链接,分别是demo1和demo2。
我还有另外两个portlet,分别是demo1Portlet和demo2Portlet。
代替右侧的portlet,“ demo1Portlet”将显示为
默认。
现在我要做的是,如果我单击demo2链接,则在右侧
Portlet将更改,并且将显示“ demo2Portlet”,如果我单击
在demo1链接上,然后它将在右侧显示“ demo1Portlet”。
谁能知道我该如何完成这项任务?
请尽快回复我。
我是liftray的新手,所以我不知道这可以通过IPC来实现,也可以不用它来实现。请说明将采取何种方式。
谢谢。
最佳答案
使portlet相互交谈有两种不同的方法。大多数内容都包含在IPC和descendant 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.
});