откройте левое боковое меню панели документов на пользовательской странице jsp в liferay

У меня есть требование, что мне нужно добавить одну ссылку или кнопку в docbar. Из моего пользовательского jsp портлета, когда я нажимаю ссылку или кнопку, должно открываться левое меню панели документов. Например, в панели документов, если я нажимаю на страницу редактирования, открывается левое меню, как показано ниже. Как этого добиться?

введите здесь описание изображения

Я попытался открыть ссылку в левом меню с моей пользовательской страницы jsp, она не открывается, даже если я включил docabr.js в пользовательскую страницу jsp. может ли кто-нибудь помочь мне, как этого достичь? следующий мой код, который я пробовал:

<script type="text/javascript" src="/html/js/liferay/dockbar.js"></script>

<portlet:renderURL var="editLayoutURL" windowState="<%= LiferayWindowState.EXCLUSIVE.toString() %>">
                <portlet:param name="struts_action" value="/dockbar/edit_layout_panel" />
                <portlet:param name="closeRedirect" value="<%= PortalUtil.getLayoutURL(layout, themeDisplay) %>" />
                <portlet:param name="groupId" value="<%= String.valueOf(scopeGroupId) %>" />
                <portlet:param name="selPlid" value="<%= String.valueOf(plid) %>" />
            </portlet:renderURL>

<aui:nav-item anchorId="editLayoutPanel" cssClass="page-edit-controls" data-panelURL="<%= editLayoutURL %>" href="javascript:;" iconCssClass="icon-edit" label="edit" />
<aui:script position="inline" use="liferay-dockbar">
    Liferay.Dockbar.init('#<portlet:namespace />dockbar');

    var customizableColumns = A.all('.portlet-column-content.customizable');

    if (customizableColumns.size() > 0) {
        customizableColumns.get('parentNode').addClass('customizable');
    }
</aui:script>

person ASR    schedule 11.07.2015    source источник


Ответы (1)


Вероятно, вам нужно зарегистрировать панель в Dockbar следующим образом:

<aui:script use="liferay-dockbar">
    Liferay.Dockbar.DOCKBAR_PANELS.myPanel = {
        css: 'lfr-has-mypanel',
        id: 'myPanel',
        node: null,
        showFn: A.bind(Liferay.Dockbar._showPanel, Liferay.Dockbar),
        tpl: '<div class="lfr-add-panel lfr-admin-panel" id="{0}" />'
    };
</aui:script>

Вы можете ознакомиться с рабочей реализацией этого в разделе Таргетинг на аудиторию. Крюк симулятора

person jbalsas    schedule 11.07.2015