首页 > 解决方案 > 试图用我拥有的结构数据创建一个水平菜单

问题描述

我有以下类型的结构 https://prnt.sc/wkerdv

在上面只有第一个有孩子但可能是孩子可以有孩子等等,但我更喜欢只显示 3 层深作为水平菜单

我在循环中必须正确添加循环以创建菜单栏,我正在尝试创建这样的菜单

https://prnt.sc/wket5s

所以这就是我正在尝试的

<cfoutput>
    <ul>
<cfloop from="1" to="#arrayLen(data.item)#" index="i">
  <cfset x = data.item[i]>
  <cfloop collection="#x#" item="key">
      <cfif Structkeyexists(key,'Item')>
          <cfloop from="1" to="#arrayLen(data.item)#" index="i">
          <cfset x = data.item[i]>
      <cfelse>


      </cfif>    
          <cfdump var="#key#">
          <!--- <cfloop from="1" to="#arrayLen(key.item)#" index="d">
               <cfset n = key.item[d]>
                    <!--- <li>#d#:#n[d]#</li> --->
                    <cfdump var="#n#">
          </cfloop>
     
            <li>#key#:#x[key]#</li>--->  
       
  </cfloop>
</cfloop>
</ul>
</cfoutput>

上面第二个屏幕后面的html代码是这样的

<ul class="menu-list">
        <cfloop from="1" to="#ArrayLen(data.menu.item)#" index="toplevel">
            <li><a href="01_Home Page.html">#toplevel#</a>
        </cfloop>
        <li class="active"><a href="01_Home Page.html">HOME</a>
            <ul class="menu-dropdown">
                <li><a href="01_Home Page.html">Home One</a></li>
                <li><a href="02_Home Page.html">Home Two</a></li>
                <li><a href="03_Home Page.html">Home Three</a>
                    <ul class="thirdlevel-menu">
                        <li><a href="">Thirdlevel</a></li>
                        <li><a href="">Thirdlevel</a></li>
                        <li><a href="">Thirdlevel</a></li>
                    </ul>
                </li>
            </ul>
        </li>
        <li><a href="">ABOUT</a></li>
        <li><a href="">SHOP</a>

标签: coldfusionlucee

解决方案


推荐阅读