如何通过WebContentDisplay-Portlet隐藏一些配置选项卡。我只允许主配置并停用其余选项卡或隐藏它们。
答案 0 :(得分:2)
如果要隐藏选项卡以配置所有portlet,可以将其添加到css
#_86_tabs1supported-clientsTabsId,
#_86_tabs1permissionsTabsId,
#_86_tabs1sharingTabsId,
#_86_tabs1scopeTabsId {
display: none;
}
如果你想隐藏它们,甚至不想渲染它们,你应该创建钩子并在其中修改这个jsp
/portal-src/portal-web/docroot/html/portlet/portlet_configuration/tabs1.jsp
,也看看
/portal/portal-web/docroot/html/portlet/portlet_configuration/init.jsp
对于示例,在tabs1.jsp中找到
if (Validator.isNotNull(selPortlet.getConfigurationActionClass())) {
tabs1Names += ",setup";
request.setAttribute("liferay-ui:tabs:url" + pos++, configurationURL.toString());
}
在下面输入
boolean showSystemTabs = true;
if ("56".equeals(portletResource)) {
showSystemTabs = false;
}
请注意,56是“Web Content Display”portlet的id。
之后你可以改变(在它下面)
if (selPortlet.hasMultipleMimeTypes()) {
tabs1Names += ",supported-clients";
request.setAttribute("liferay-ui:tabs:url" + pos++, supportedClientsURL.toString());
}
到
if (selPortlet.hasMultipleMimeTypes() && showSystemTabs) {
tabs1Names += ",supported-clients";
request.setAttribute("liferay-ui:tabs:url" + pos++, supportedClientsURL.toString());
}
和其他标签的逻辑相同。
请注意,挂钩适用于所有社区,用户页面......