当用户只有一个应用权限,并不需要切换应用时,希望能下面那一栏隐藏掉。
解决办法:
打开apache-ofbiz-16.11.02\themes\flatgrey\template\AppBar.ftl文件
<#if (requestAttributes.externalLoginKey)??><#assign externalKeyParam = "?externalLoginKey=" + requestAttributes.externalLoginKey!></#if>
<#if (externalLoginKey)??><#assign externalKeyParam = "?externalLoginKey=" + requestAttributes.externalLoginKey!></#if>
<#assign ofbizServerName = application.getAttribute("_serverId")?default("default-server")>
<#assign test123 = Static["org.apache.ofbiz.base.util.Debug"].logInfo(ofbizServerName, "appbarFTL")>
<#assign contextPath = request.getContextPath()>
<#assign displayApps = Static["org.apache.ofbiz.webapp.control.LoginWorker"].getAppBarWebInfos(security, userLogin, ofbizServerName, "main")>
<#assign displaySecondaryApps = Static["org.apache.ofbiz.webapp.control.LoginWorker"].getAppBarWebInfos(security, userLogin, ofbizServerName, "secondary")>
<#if userLogin?has_content>
<div id="main-navigation" test="${ofbizServerName}">
<ul>
<#assign appCount = 0>
<#assign firstApp = true>
<#list displayApps as display>
<#assign thisApp = display.getContextRoot()>
<#assign selected = false>
<#if thisApp == contextPath || contextPath + "/" == thisApp>
<#assign selected = true>
</#if>
<#assign servletPath = Static["org.apache.ofbiz.webapp.WebAppUtil"].getControlServletPath(display)>
<#assign thisURL = StringUtil.wrapString(servletPath)>
<#if thisApp != "/">
<#assign thisURL = thisURL + "main">
</#if>
<#if layoutSettings.suppressTab?? && display.name == layoutSettings.suppressTab>
<#-- do not display this component-->
<#else>
<#if appCount % 4 == 0>
<#if firstApp>
<li class="first">
<#assign firstApp = false>
<#else>
</li>
<li>
</#if>
</#if>
<a tests1="displayApps" href="${thisURL}${StringUtil.wrapString(externalKeyParam)}"<#if selected> class="selected"</#if><#if uiLabelMap??> title="${uiLabelMap[display.description]}">${uiLabelMap[display.title]}<#else> title="${display.description}">${display.title}</#if></a>
<#assign appCount = appCount + 1>
</#if>
</#list>
<#list displaySecondaryApps as display>
<#assign thisApp = display.getContextRoot()>
<#assign selected = false>
<#if thisApp == contextPath || contextPath + "/" == thisApp>
<#assign selected = true>
</#if>
<#assign servletPath = Static["org.apache.ofbiz.webapp.WebAppUtil"].getControlServletPath(display)>
<#assign thisURL = StringUtil.wrapString(servletPath)>
<#if thisApp != "/">
<#assign thisURL = thisURL + "main">
</#if>
<#if appCount % 4 == 0>
<#if firstApp>
<li class="first">
<#assign firstApp = false>
<#else>
</li>
<li>
</#if>
</#if>
<a tests1="displaySecondaryApps" href="${thisURL}${StringUtil.wrapString(externalKeyParam)}"<#if selected> class="selected"</#if><#if uiLabelMap??> title="${uiLabelMap[display.description]}">${uiLabelMap[display.title]}<#else> title="${display.description}">${display.title}</#if></a>
<#assign appCount = appCount + 1>
</#list>
<#if appCount != 0>
</li>
<li class="last"></li>
</#if>
</ul>
</div>
</#if>
<#if appCount <= 1>
<script type="text/javascript">
//${appCount}
jQuery("#main-navigation").hide()
</script>
</#if>
修改后的文件如上,主要是在最后加了个if判断,满足if条件则加上一个js脚本进去隐藏div。