1

Liferayでページレイアウトを動的に変更する方法を教えてください。レイアウト2列(50/50)のページがあり、これらの列の両方にポートレットがあるとします。ユーザーがいずれかのポートレットをクリックした場合、ページレイアウトを2列(70/30)に変更したいと思います。

4

3 に答える 3

0

以下は、レイアウト テンプレートのサンプル 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>

よく調べてみると、divの幅を記述したクラスがあり、私の例では aui-w70 が幅 70%、aui-w30 が幅 30% です。レイアウトでも同様のものが得られると確信しています。必要なイベントで必要に応じてクラス名を変更できる場合は、問題ありません...試してみてください....

于 2013-02-26T11:20:35.077 に答える
0

に追加-提供されているとおり-

layoutId = LayoutLocalServiceUtil.getFriendlyURLLayout(groupId, false, FriendlyURL);

新しいページの FriendlyURL を渡します。公開ページの場合は false、それ以外の場合は非公開ページの場合は true、新しいページに何らかのレイアウトを適用したことを確認します (例: 70/30)。

このlayoutIdを使用して -

" windowState="<%= WindowState.NORMAL.toString()%>">">

portletname フィールドに portletId を指定します。

于 2013-02-19T06:04:51.280 に答える