I think similar questions have been asked before, but I can't quite wrap my head around whether what I want to do is logicaly possible.
I currently use DDSmoothMenu on our intranet to list documents that we have for all staff to access.
Menu structure would be something like:
Documents -> Finance -> Forms -> File 1
-> File 2
-> File 3
-> Informational -> File 1
-> File 2
-> Insurance -> File 1
-> File 2
The basic structure of the menu is below:
<ul>
<li><a href='#'>Sub Menu Name</a>
<ul>
<li><a href='#'>Menu Item</a></li>
<li><a href='#'>Menu Item</a></li>
<li><a href='#'>Menu Item</a></li>
<li><a href='#'>Menu Item</a></li>
</ul>
</li>
</ul>
I think it would have to involve some kind of multidimensional array and a recursive directory iterator, but I would like to go through each folder and create the HTML layout as above.
I think it may be possible to do the opening tags, but not sure how to then do the closing tags once that directory is all listed.
A recursive solution could look something like:
This is entirely untested but should hopefully help.
Ok, so here is what I ended up with thanks to Jim's example code:
Works like an absolute charm for my DDSMoothMenu, and I can be as general or as granular as I want when using the function to create the menu.
I will mark this as the answer, but Jim gave me the best starting point possible code wise!
The easier way is use trees. I recommendNested model You can check current and perv lvl of item.