Liferay WebContentDisplay - Portlet - 隐藏配置选项卡

时间:2012-03-13 13:04:37

标签: configuration content-management-system liferay

如何通过WebContentDisplay-Portlet隐藏一些配置选项卡。我只允许主配置并停用其余选项卡或隐藏它们。

Configuration of WebContentDisplay-Portlet

1 个答案:

答案 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());
}

和其他标签的逻辑相同。

请注意,挂钩适用于所有社区,用户页面......