2015-07-11 7 views
0

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

enter image description here

Я попытался открыть ссылку меню слева сформировать свою пользовательскую страницу 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> 

ответ

2

Вы, вероятно, нужно зарегистрировать панель в 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> 

Вы можете проверить рабочую реализацию этого в Audience Targetting Simulator Hook