【发布时间】:2014-07-08 22:58:16
【问题描述】:
刚刚进入整个 MVC 开发风格。
使用 CI,我想我初步了解了控制器、模型和视图。但是,我遇到了一个以“我自己”的编码方式对我来说很容易的问题。
我有一个单独的数据库表来驱动动态菜单。设计是:
样本数据为:
无论如何,在我的脑海中,逻辑是:
- 选择 * 其中 active=1,然后
- 如果行的 parent_id==0 检查检索到的数据集中的行 当前行的parent_id==id
- 如果找不到,则生成
<li class="no_subs"></li>元素 - 如果找到,生成
<li class="subs">元素,打开新的<ul> - 为所有匹配的项目生成
<li></li>,关闭<ul>,关闭 “潜艇”<li>
因此,根据上述示例数据,生成的 html 将是:
<li class="no_subs">Home</li>
<li class="no_subs">News</li>
<li class="subs">Training
<ul>
<li>Materials</li>
<li>Tests</li>
</ul>
</li>
<li class="subs">Other
<ul>
<li>Usefull links</li>
</ul>
</li>
到目前为止,我所能做的就是生成顶级菜单。 任何想法如何解决这个问题?
谢谢,
【问题讨论】:
-
我会亲自将查询数据传递到某种菜单类中,并使用公共方法来测试菜单项是否具有Children()。这比您想象的要容易,但是我没有时间写出一堆类和示例,抱歉:/
标签: php database codeigniter dynamic menu