Layout 在Liferay中动态更改页面布局
谁能告诉我如何在Liferay中动态更改页面布局。 让我们考虑页面与布局2列(50/50),这两个列都有portlet。Layout 在Liferay中动态更改页面布局,layout,liferay,liferay-6,Layout,Liferay,Liferay 6,谁能告诉我如何在Liferay中动态更改页面布局。 让我们考虑页面与布局2列(50/50),这两个列都有portlet。 如果用户单击任何Portlet,我希望将页面布局更改为2列(70/30)。我从未尝试过,但您是否尝试检查LayoutLocalServiceUtil.updateLayout() 那应该对你有帮助。如果要创建新页面,请使用LayoutLocalServiceUtil.addLayout(),否则请使用updateLayout() 获取布局,然后更新它 layout = Lay
如果用户单击任何Portlet,我希望将页面布局更改为2列(70/30)。我从未尝试过,但您是否尝试检查
LayoutLocalServiceUtil.updateLayout()
那应该对你有帮助。如果要创建新页面,请使用LayoutLocalServiceUtil.addLayout()
,否则请使用updateLayout()
获取布局,然后更新它
layout = LayoutLocalServiceUtil.getFriendlyURLLayout(groupId, false, friendlyURL);
我从未尝试过,但您是否尝试过检查
LayoutLocalServiceUtil.updateLayout()
那应该对你有帮助。如果要创建新页面,请使用LayoutLocalServiceUtil.addLayout()
,否则请使用updateLayout()
获取布局,然后更新它
layout = LayoutLocalServiceUtil.getFriendlyURLLayout(groupId, false, friendlyURL);
增加-
按规定-
layoutId=LayoutLocalServiceUtil.getFriendlyURLLayout(groupId,false,friendlyURL)
传递新页面的friendlyURL,
如果是公共页面,则为false,否则为private,
并确保在新页面上应用了一些布局(例如-70/30)
在中使用此layoutId-
“WindowsState=”“>
向portletname字段提供portletId。添加到-
按规定-
layoutId=LayoutLocalServiceUtil.getFriendlyURLLayout(groupId,false,friendlyURL)
传递新页面的friendlyURL,
如果是公共页面,则为false,否则为private,
并确保在新页面上应用了一些布局(例如-70/30)
在中使用此layoutId-
“WindowsState=”“>
向portletname字段提供portletId。下面是布局模板中的html部分示例
<div class="portlet-layout">
<div class="aui-w70 portlet-column portlet-column-first" id="column-2">
$processor.processColumn("column-2", "portlet-column-content portlet-column-content-first")
</div>
<div class="aui-w30 portlet-column portlet-column-last" id="column-3">
$processor.processColumn("column-3", "portlet-column-content portlet-column-content-last")
</div>
</div>
$processor.processColumn(“列-2”,“portlet列内容portlet列内容优先”)
$processor.processColumn(“第3列”,“portlet列内容portlet列内容最后一列”)
如果仔细检查,就会发现有一些类描述了div的宽度,在我的示例中,aui-w70表示宽度70%,aui-w30表示宽度30%。我相信你也会在你的布局中得到类似的东西。
如果您可以根据需要在所需的事件中更改类名,那么您就可以继续。。。
试试看……下面是一个布局模板中的html示例部分
<div class="portlet-layout">
<div class="aui-w70 portlet-column portlet-column-first" id="column-2">
$processor.processColumn("column-2", "portlet-column-content portlet-column-content-first")
</div>
<div class="aui-w30 portlet-column portlet-column-last" id="column-3">
$processor.processColumn("column-3", "portlet-column-content portlet-column-content-last")
</div>
</div>
$processor.processColumn(“列-2”,“portlet列内容portlet列内容优先”)
$processor.processColumn(“第3列”,“portlet列内容portlet列内容最后一列”)
如果仔细检查,就会发现有一些类描述了div的宽度,在我的示例中,aui-w70表示宽度70%,aui-w30表示宽度30%。我相信你也会在你的布局中得到类似的东西。
如果您可以根据需要在所需的事件中更改类名,那么您就可以继续。。。
试试看……我相信如果你点击一个portlet,你可以将其最大化。谢谢回复…但我想在同一页面上显示两个portlet,如果我将状态更改为最大化,它将在页面上只显示一个portlet。我相信如果你点击一个portlet,你可以将其最大化。谢谢回复…但我想在页面上显示两个portlet同一个页面,如果我将状态更改为最大化,它将只在页面上显示一个portlet感谢回复将进行尝试Anks for reply将进行尝试