當使用者隻有一個應用權限,并不需要切換應用時,希望能下面那一欄隐藏掉。
解決辦法:
打開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)}" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" <#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)}" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" <#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。