我是liferay的新手。所以,我只想解释一下我的情景。
实际上我的网页上有两个portlet - 一个位于左侧,另一个位于右侧:
任何人都知道如何完成这项任务吗?
请尽快回复我。
我是lifrapy的新手,所以我不知道通过IPC还是没有它可以实现这一目标。请解释一下会有什么方法。
感谢。
答案 0 :(得分:2)
有两种不同的方法可以让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.
});