пытаюсь создать горизонтальное меню со структурными данными, которые у меня есть

#coldfusion #lucee

#coldfusion #люси

Вопрос:

У меня следующий тип структуры 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>
 

Комментарии:

1. решается с помощью рекурсии запроса

2. Вы должны написать свой ответ так, чтобы, если кто-то еще застрянет, он знал, как его решить.

3. Пожалуйста, добавьте свое решение с помощью рекурсии вашего запроса