DocumentViewModel.model.php
<?php
namespace Common\Model;
use Think\Model\ViewModel;
Class DocumentViewModel extends ViewModel{
public $viewFields = array(
'artinfo'=>array('id'=>'info_id','uid','cid','title'=>'info_title','keyword','status'=>'info_status','time','clicks'),
'category'=>array('id'=>'cate_id','name'=>'cate_name','title'=>'cate_title','status'=>'cate_status','_on'=>'category.id=artinfo.cid'),
'artcont'=>array('id'=>'cont_id','aid','content','_on'=>'artcont.aid=artinfo.id'),
'user'=>array('id'=>'user_id','username','true_name','_on'=>'user.id=artinfo.uid'),
);
public function pagelist($model,$where = array(),$field = true){
if(is_string($model))
$model = D('$model');
$total = $model->where($where)->count();
$listRows = C('LIST_ROWS') > 0 ? C('LIST_ROWS') : 20;
$page = new \Think\Page($total, $listRows);
if($total>$listRows){
$page->setConfig('prev','上一页');
$page->setConfig('next','下一页');
$page->setConfig('theme',"<ul class='pagination'></li><li>%FIRST%</li><li>%UP_PAGE%</li><li>%LINK_PAGE%</li><li>%DOWN_PAGE%</li><li>%END%</li><li><a> %HEADER% %NOW_PAGE%/%TOTAL_PAGE% 页</a></ul>");
}
$p = $page->show();
$this->_page=$p;
$this->_total=$total;
$limit = $page->firstRow.','.$page->listRows;
//$model->setProperty('options',$options);
return $model->where($where)->field($field)->limit($limit)->select();
}
}
?>这个是控制器方法的代码<?php
namespace Core\Controller;
use Think\Controller;
use Think\Model\ViewModel;
Class ArticleController extends AdminController{
public function myDoc(){
$this->getBar();
$map = array(
'cate_status'=>1,
'info_status'=>1,
);
$Document = D('Common/DocumentView');
$field = array('info_id','info_title','cate_title','username','time','clicks');
$artlist = $Document->pagelist($Document,$map,$field);
$this->artlist=$artlist?$artlist:'';
$this->meta_title = '所有文档';
$this->display();
}前台分页部分html代码<div style="text-align:center">
{$_page}
</div>在model里面打印$p是正常的,但是在模板里显示的时候似乎_page是空的,这是为什么啊? 最佳答案