Layout 在Liferay中动态更改页面布局

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

谁能告诉我如何在Liferay中动态更改页面布局。 让我们考虑页面与布局2列(50/50),这两个列都有portlet。
如果用户单击任何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将进行尝试