Liferay控制面板菜单portlet

Liferay控制面板菜单portlet,liferay,Liferay,liferay如何列出要在控制面板菜单中显示的portlet? 任何正文都可以列出相同的类和JSP吗?请参阅liferay源代码中的文件,位置为:\portal web\docroot\html\portlet\control\u panel\u menu\view.JSP 您将了解liferay如何显示其控制面板菜单 用于此jsp的代码。部署portlet时,所有portlet都保存在portlet表中。然后,一旦访问了控制面板,liferay就会加载所有包含控制面板条目的portlet。有关

liferay如何列出要在控制面板菜单中显示的portlet?
任何正文都可以列出相同的类和JSP吗?

请参阅liferay源代码中的文件,位置为:
\portal web\docroot\html\portlet\control\u panel\u menu\view.JSP

您将了解liferay如何显示其控制面板菜单


用于此jsp的代码。

部署portlet时,所有portlet都保存在portlet表中。然后,一旦访问了控制面板,liferay就会加载所有包含控制面板条目的portlet。有关更好的解释,请参阅中的以下代码

com.liferay.portal.util.PortalImpl

@Override
public Set<Portlet> getControlPanelPortlets(long companyId, String category)
    throws SystemException {

    Set<Portlet> portletsSet = new TreeSet<Portlet>(
        new PortletControlPanelWeightComparator());

    if (Validator.isNull(category)) {
        return portletsSet;
    }

    List<Portlet> portletsList = PortletLocalServiceUtil.getPortlets(
        companyId);

    for (Portlet portlet : portletsList) {
        String portletCategory = portlet.getControlPanelEntryCategory();

        if (category.equals(portletCategory) ||
            (category.endsWith(StringPool.PERIOD) &&
             StringUtil.startsWith(portletCategory, category))) {

            portletsSet.add(portlet);
        }
    }

    return portletsSet;
}

@Override
public List<Portlet> getControlPanelPortlets(
        String category, ThemeDisplay themeDisplay)
    throws SystemException {

    Set<Portlet> portlets = getControlPanelPortlets(
        themeDisplay.getCompanyId(), category);

    return filterControlPanelPortlets(portlets, themeDisplay);
}
com.liferay.portal.util.PortalImpl
@凌驾
公共集GetControlPanelPortlet(长公司ID,字符串类别)
抛出系统异常{
Set portletsSet=新树集(
新的PortletControlPanelWeightComparator());
if(Validator.isNull(类别)){
返回端口集;
}
列表portletsList=PortletLocalServiceUtil.getPortlets(
公司ID);
for(Portlet:portletsList){
字符串portletCategory=portlet.getControlPanelEntryCategory();
if(类别等于(portletCategory)||
(类别endsWith(StringPool.PERIOD)&&
StringUtil.startsWith(portletCategory,category))){
添加(portlet);
}
}
返回端口集;
}
@凌驾
公共列表GetControlPanelPortlet(
字符串类别,主题显示(主题显示)
抛出系统异常{
Set portlets=getControlPanelPortlets(
themeDisplay.getCompanyId(),类别);
返回FilterControlPanelPortlet(Portlet,主题显示);
}
上面的代码是从

\portal-web\docroot\html\portlet\control_panel_menu\view.jsp 
Map<String, List<Portlet>> siteAdministrationCategoriesMap = PortalUtil.getSiteAdministrationCategoriesMap(request);
\portal web\docroot\html\portlet\control\u panel\u menu\view.jsp
Map siteAdministrationCategoriesMap=portal.getSiteAdministrationCategoriesMap(请求);

从答案中获得帮助。谢谢你的回复。

这是我的答案,不是评论:我很糟糕,我应该写下来作为答案。我刚才在那份答复中提到了细节。无论如何,将其标记为答案。:-)