在作網站的時候,每一個網站都有頭部和尾部,也就是菜單欄和頁腳,網站的各個子網頁的頭部和尾部基本就是同樣的,因此tp框架提供了一種模板繼承的方法:php
一、首先在View的Main文件夾下創建一個base.html頁面:html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><block name="title">無標題文檔</block></title> <style> #head{ width:100%; height:100px; background-color:red} #footer{ width:100%; height:50px; background-color:black} </style> <block name="tou"></block><!--頭部--> </head> <body> <div id="head"> <foreach name="arr" item="vo"><!--循環遍歷,從數據庫讀數據--> <span>{$vo.lbname}</span> </foreach> </div> <block name="nr"></block> <div id="footer"></div><!--尾部--> </body> </html>
二、作操做方法:MainController.class.php頁面:數據庫
<?php namespace Ceshi\Controller; use Think\Controller; class MainController extends Controller { public function test(){ $this->base(); $this->show(); } public function base(){//這樣能夠調用模板中鏈接數據庫部分 $m = M("leibie"); $arr = $m->select(); $this->assign("arr",$arr); } }
三、在View文件夾的Main文件夾下新建一個test.html文件:框架
<extend name="base"/><!--調用模板--> <block name="title">子頁面</block> <block name="tou"> <style> #nr{ width:100%; height:400px; background-color:yellow} </style> </block> <block name="nr"> <div id="nr"></div> </block>
看一下下效果:post
四、刪除和修改:網站
在View文件夾下的Main文件夾內新建一個mains.html文件:ui
<extend name="base"/><!--繼承模板--> <block name="nr"> <table width="100%" border="1"> <tr> <td>代號</td> <td>名稱</td> <td>系列</td> <td>油耗</td> <td>價格</td> <td>操做</td> </tr> <foreach name="attr" item="v"><!--循環遍歷出表中內容--> <tr> <td>{$v.code}</td> <td>{$v.name}</td> <td>{$v.brand}</td> <td>{$v.oil}</td> <td>{$v.price}</td> <td><a href="__CONTROLLER__/del/code/{$v.code}">刪除</a> <a href="__CONTROLLER__/upd/code/{$v.code}">修改</a> </td> </tr> </foreach> </table> </block>
依然在MainController的控制器裏作操做方法:this
<?php namespace Ceshi\Controller; use Think\Controller; class MainController extends Controller { public function test(){ $this->base(); $this->show(); } public function base(){//這樣能夠調用模板中鏈接數據庫部分 $m = M("leibie"); $arr = $m->select(); $this->assign("arr",$arr); } public function mains(){ $m = M("car"); $arr = $m->select(); $this->assign("attr",$arr); $this->base(); $this->show(); } public function del($code){ $m = M("car"); if($m->delete($code)){ $url = U("mains"); $this->success("刪除成功!",$url);//第二個參數,表示返回的路徑;第三個參數:表示停留時間 } else{ $this->error("刪除失敗!"); } } public function upd(){ $m = M("car"); $code = $_GET["code"]; $attr = $m->find($code); $this->assign("attr",$attr); if(empty($_POST)){ $this->show(); } else{ $m->create(); $m->save(); } } }
在View下的Main下創建一個upd.html文件:url
<extend name="base"/> <block name="nr"> <form action="__ACTION__" method="post"> <div><input type="hidden" name="Code" value="{$attr.code}"/></div> <div>名稱:<input type="text" name="Name" value="{$attr.name}"/></div> <div>系列:<input type="text" name="Brand" value="{$attr.brand}"/></div> <div>油耗:<input type="text" name="Oil" value="{$attr.oil}"/></div> <div>價格:<input type="text" name="Price" value="{$attr.price}"/></div> <input type="submit" value="修改"/> </form> </block>
看一下效果:spa
點擊刪除c002:
點擊修改c003價格爲40: