我真的很想使用递归函数来构建我的站点菜单,但是我遇到了一个问题,并且已经困扰我很久了。我需要我的菜单函数来返回一个嵌套列表,但我不希望显示树的非活动无关元素。
细节。我有一个 MySql 数据库,其中包含一个名为 menu_items 的表,该表存储导航项目(目标、链接文本、标题等)的所有常用字段以及每个项目的唯一 ID,重要的是 parent_id。
不过,这都是有待商榷的,例如,将这些信息存储在 XML 文件中会更容易吗?
例如,这里是一个显示所有元素的示例菜单:
<ul>
<li><a href="1.html">link 1</a>
<ul>
<li><a href="1-1.html">link 1-1</a>
<li><a href="1-2.html">link 1-2</a>
</ul>
</li>
<li><a href="2.html">link 2</a>
<ul>
<li><a href="2-1.html">link 2-1</a>
<li><a href="2-2.html">link 2-2</a>
</ul>
</li>
<li><a href="3.html">link 3</a></li>
</ul>
但是如果当前页面是例如 1-2.html 我想要一个这样的菜单:
<ul>
<li><a href="1.html">link 1</a>
<ul>
<li><a href="1-1.html">link 1-1</a>
<li><a href="1-2.html">link 1-2</a>
</ul>
</li>
<li><a href="2.html">link 2</a></li>
<li><a href="3.html">link 3</a></li>
</ul>
显然,我会将当前页面的 ID 或名称传递给 Menu 函数。
有什么想法吗?我已经把头撞在墙上有一段时间了:-)