可以使用smarty模板引擎,参见core/view.php类
但是最好不使用smarty类,直接使用php原生模板标签,因为还可以给模板赋对象。比如pager分面类。
赋值例子:
<?php
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对象
<div id="pagebar"><?php echo $pager->getWholeBar(url_for("products/prolist/smallid/".$smallid."/page/:page")); ?></div>