天天看點

ofbiz主題優化

當使用者隻有一個應用權限,并不需要切換應用時,希望能下面那一欄隐藏掉。

ofbiz主題優化

解決辦法:

打開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。

繼續閱讀