PHP架構queryphp教程:入門七 給模板賦值
可以使用smarty模板引擎,參見core/view.php類
但是最好不使用smarty類,直接使用php原生模板標籤,因為還可以給模板賦對象。比如pager分面類。
賦值例子:
class productsRouter extends controller{?
? function index()?
? {?
? ? ?Return false;?
? }?
? public function show() {?
? ? ? $id=intval($_GET['proid']);?
? ? if($id!='')?
? ? {?
? ? ? $pro=M("products");?
? ? ? $pro->get($id);?
? ? ? //給模板中$proshow賦值?
? ? ? $this->proshow=$pro->edit()->getData();?
? ? ? if($pro->getPdflist1()!='' )?
? ? ? {?
? ? ? ? $pdflist=explode(",",$pro->getPdflist1());?
? ? ? ? $sql='';?
? ? ? ? if(is_array($pdflist))?
? ? ? ? {?
? ? ? ? ? foreach($pdflist as $key=>$value)?
? ? ? ? ? {?
? ? ? ? ? ? $sql.=intval($value).",";?
? ? ? ? ? }?
? ? ? ? ? if($sql!='')?
? ? ? ? ? {?
? ? ? ? ? ? ?$sql=substr($sql,0,-1); ? ?
? ? ? ? ? ? ?$yangben=M("yangben");?
? ? ? ? ? ? ?//給模板中$pdflist賦值,其中是數組?
? ? ? ? ? ? ?$this->assign("pdflist",$yangben->select("yangid,yangname,pdfimage")->whereIn("yangid",$sql)->fetch()->getRecord());?
? ? ? ? ? }?
? ? ? ?}?
? ? ? }?
? ? ? //產品導航部分內容輸出?
? ? ? $nav=DM("navpro");?
? ? ? $this->assign("navbar",$nav->getTree());?
? ? }?
? }?
? public function prolist() {?
? ? //產品導航部分內容輸出 樹形輸出?
? ? ? $nav=DM("navpro");?
? ? $this->assign("navbar",$nav->getTree());?
? ? $pro=M("products");?
? ? $smallid=intval($_GET['smallid']);?
? ? $count=$pro->where("classid",$smallid)->count();?
? ? //直接給模板賦值對像?
? ? $this->pager=C("pager");?
? ? $this->pager->setPager($count,10); //預設是使用$_GET['page']取得分頁頁數可以是這樣是一樣的setPager($count,10,'page');
? ? //給模板賦值,list為內容列表 //上面設定過where("classid",$smallid),所以下面不用設定。因為預設取得總數不會清除查詢條件的,其它會清除
? ? $this->list=$pro->select("id,classid,typeno,title,dest,ico,img")->orderby("id desc")->limit($this->pager->offset(),10)->fetch()->getRecord();?
? ? $this->assign("smallid",$smallid);?
? }?
}?
?>?
模板中使用pager對象
getWholeBar(url_for("products/prolist/smallid/".$smallid."/page/:page")); ?>