# 創建方法
~~~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>
~~~
查看運行效果

向數據庫內添加2條數據,并查看效果




# 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');
}
}
~~~
運行查看效果

