多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 创建方法 ~~~php public function read($id=null) { if($id!=null){ $data = Db::name('catalog')->find($id); $this->assign('item',$data); return $this->fetch('catalog/read_item'); }else{ $data = Db::name('catalog')->select(); $this->assign('items',$data); return $this->fetch('catalog/read_items'); } } ~~~ # 创建html 文件 app/home/view/catalog/read_item.html ~~~html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>读取单条数据</title> </head> <body> <h1>读取单条数据</h1> <a href="{:url('home/catalog/index')}">返回导航</a> <p> 编号:{$item.id}<br> 名称:{$item.name}<br> 标题:{$item.title}<br> 关键字:{$item.keywords}<br> 描述:{$item.description}<br> </p> </body> </html> ~~~ 文件 app/home/view/catalog/read_items.html ~~~html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>读取列表</title> </head> <body> <h1>读取列表</h1> <a href="{:url('home/catalog/index')}">返回导航</a> <ul> {foreach $items as $item} <li><a href="{:url('home/catalog/read',['id'=>$item.id])}">{$item.name}</a></li> {/foreach} </ul> </body> </html> ~~~ 查看运行效果 ![](https://box.kancloud.cn/ea0904e9f89ef2439cdf4b9c270da9c7_703x585.png) 向数据库内添加2条数据,并查看效果 ![](https://box.kancloud.cn/1d7e3e6ee0b9dd6cbb0f0673f6cd3774_703x585.png) ![](https://box.kancloud.cn/be8252a4b0ad1f8c0f9832443095a21e_703x585.png) ![](https://box.kancloud.cn/6f1dee50acb2a9199aa8cf81406aa155_703x585.png) ![](https://box.kancloud.cn/b697f1b5b721221bb70f6ed512457996_703x585.png) # 2级目录 修改 create_html() 方法 ~~~php public function create_html() { $lists = Db::name('catalog') ->where('parentid',0) ->select(); $this->assign('toplists',$lists); return $this->fetch(); } ~~~ 在对应的模板文件中添加一个选择框 ~~~html 上级目录: <select name="parentid"> <option value="0">根目录</option> {foreach $toplists as $item} <option value="{$item.id}">{$item.name}</option> {/foreach} </select><br> ~~~ 删除 create() 方法的 ~~~php $data['parentid'] = 0; ~~~ 这样parentid就能正确的提交上来了。 修改显示列表,让列表页支持多级菜单,修改 read() 方法 ~~~php public function read($id=null) { if($id!=null){ $data = Db::name('catalog')->find($id); $this->assign('item',$data); return $this->fetch('catalog/read_item'); }else{ $data = Db::name('catalog') ->where('parentid',0) ->select(); foreach ($data as $key => $item) { $data[$key]['lists'] = Db::name('catalog') ->where('parentid',$item['id']) ->select(); } $this->assign('items',$data); return $this->fetch('catalog/read_items'); } } ~~~ 运行查看效果 ![](https://box.kancloud.cn/fed999cee98930f85d32f305297c159b_703x585.png) ![](https://box.kancloud.cn/2212616b5075124f7edd4d4e11894bee_703x585.png)