Liferay控制面板菜单portlet
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。有关
任何正文都可以列出相同的类和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(请求);
从答案中获得帮助。谢谢你的回复。这是我的答案,不是评论:我很糟糕,我应该写下来作为答案。我刚才在那份答复中提到了细节。无论如何,将其标记为答案。:-)