夺命雷公狗---Thinkphp----8之栏目功能的分页显示

我们开始在列表页写我们的分页功能,我们直接将刚才取的列表页改写下即可:

public function lists(){
        //$type = M(‘Type‘)->select();
        //$this -> assign(‘type‘,$type);
        //$this -> display();

        //1.显示分页工具条
        $mod = M(‘Type‘);
        $totalRows = $mod->count();
        //创建分页对象时,分页对象需要总记录数和分页条数
        $page = new \Think\Page($totalRows,5);
        $page -> rollPage =5; //分页列表上显示多少条
        $page->setConfig(‘theme‘,‘%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%   %HEADER%‘);
        $page->setConfig(‘first‘,‘首页‘);
        $page->setConfig(‘prev‘,‘上一页‘);
        $page->setConfig(‘next‘,‘下一页‘);
        $page->setConfig(‘last‘,‘尾页‘);
        $pageHtml = $page -> show();//生成分页的连接诶效果(分页工具条的html代码)
        $this -> assign(‘pageHtml‘,$pageHtml);//分配分页栏到模版

        //2.查询出当前页面的列表数据
        $type = $mod -> page(I(‘get.p‘,1),$page->listRows)->select();
        $this -> assign(‘type‘,$type);
        $this -> display();
    }

让后我们再到模版处改写下即可,如下所示:

显示效果如下所示:

这里我们的尾页还没出来,,,没办法,框架有Bug只好去修改框架上的配置文件了,在ThinkPHP\Library\Think\Page.class.php

在里面找到

    public function setConfig($name,$value) {
        if(isset($this->config[$name])) {
            $this->config[$name] = $value;
        }
    }

然后修改成:

    public function setConfig($name,$value) {
        if(isset($this->config[$name])) {
            $this->config[$name] = $value;
            if($name == ‘last‘){
               $this->lastSuffix = false;
            }
        }
    }

修改成功这样即可正常显示,如下所示:

这样是效果出来了,但是看上去还是挺不够美观的,那么我们加多一端css代码他即可实现美观的样式了:

<style type="text/css">
.num{
  padding-left:10px;
}
.current{
  padding-left:10px;
  color:blue;
  font-weight:bold;
  font-size:16px;
}
</style>

效果如下所示:

时间: 2024-11-07 05:57:35

夺命雷公狗---Thinkphp----8之栏目功能的分页显示的相关文章

夺命雷公狗ThinkPHP项目之----商城8商品品牌管理

本章的主要目标是为了对商品品牌进行CRUD(增删改查)操作. 我们在写的时候就要了解业务逻辑,也就是了解表结构 每个字段代表什么含义,为什么是这个类型的 logo:保存的是图片,一般是分两个途径来保存的, 1.保存图片的本身,保存在目录之下 2.将图片的路径保存到数据表中 我们先创建一个名字为BrandController的控制器,和在view视图里面创建一个Brand的文件夹来进行存放模版文件,如下图所示: 然后将add里面的css和图片路径该下即可代码如下: <!DOCTYPE html P

夺命雷公狗ThinkPHP项目之----商城10商品属性管理

我们一般做项目前就要分析业务逻辑先,这次也不例外. attr_type:是指属性的类型,有唯一,单选和多选之分 唯一属性,是指用户在购买商品时,可以看到的扩展属性如下图所示: 单选属性,是指用户在购买的时候,不需要选择的扩展属性,否则就无法购买,如下所示: 多选和单选是对应的,但是可以选择多个,但是单选的只能选择一个,否则就无法购买. attr_input_type:是指属性的输入方式,有文本框,下拉列表和文本域之分,如下图所示: attr_value:是指如果属性是下拉形式的,应该提供可选值.

夺命雷公狗ThinkPHP项目之----企业网站8之栏目的添加完善(无限极分类的完成)

我们刚才只是完成了添加的一部分,但是我们的上级分类也不能永远都是只有一个死的嘛,所以我们需要对她进行修改: 我们先将add方法里面的数据查出来再说: 然后在模板页进行遍历: 展示效果如下所示: 虽然是出现了,但是没有向我们平常时候见到的无限极分类一样噢,一般比如分类 多多,分类下面的 好多美女啊 是多多的下级分类,那么好多美女啊他前面是有几个空格之类的隔开, 那么我们就需要在model层里面对她进行排序的设置了: <?php namespace Admin\Model; use Think\Mo

夺命雷公狗ThinkPHP项目之----企业网站26之网站前台列表页的显示和完成分页功能

我们用大I接收到我们get过来的栏目页的id然后通过文章的ar_cateid 来判断是不是属于该栏目下的,如果文章表ar_cateid = 栏目表的cate_id 那么就可以选出我们要查找的信息, 然后再遍历到视图即可... <?php namespace Home\Controller; use Think\Controller; class ListsController extends CommonController { public function lists(){ //获取栏目的i

夺命雷公狗ThinkPHP项目之----企业网站10之栏目的编辑完善(无限极分类的完成)

我们编辑首先就要考虑将下拉框效果实现出来,然后再进行下一步操作: 我们用到了Model层的操作,在第8讲里面其实已经写好了catTree方法,控制器如下所示: 然后在列表页然他变量进行输出 然后开始通过接收post传过来的参数进行修改,但是有一点必须要考虑的, 水果 为顶级栏目, 苹果为 水果的下一级栏目,所以我们不能让水果变成苹果的下级栏目,我们居然考虑到这了,所以我们还是需要通过判断的, 让爸级栏目不能一下变成孙级栏目,不然发生全家族集体失终的“惨剧”哦.... 我们的解决方法是在显示的时候

夺命雷公狗ThinkPHP项目之----企业网站12之栏目的删除完成

我们删除要在分类模型中添加一个_before_delete的钩子函数,而且在删除一个分类时候,如果这个分类有子分类就不允许删除 model层代码如下所示: <?php namespace Admin\Model; use Think\Model; class CategoryModel extends Model{ protected $_validate = array( //array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), array('cate_name',

夺命雷公狗ThinkPHP项目之----企业网站9之栏目的列表完善(无限极分类的完成)

我们刚才已经写好model了,那么这里直接来调用下他即可: public function lists(){ $mod = D('Category')->catTree(); $this -> assign('mod',$mod); $this->display(); } 然后在模版里面进行遍历即可: <!doctype html> <html> <head> <meta charset="UTF-8"> <tit

夺命雷公狗ThinkPHP项目之----企业网站6之栏目的添加(主要用模型来验证字段)

我们刚才的控制器已经写好了,那么我们现在就来完成我们的模型, 首先我们在Model目录下创建一个CategoryModel.class.php 代码如下: <?php namespace Admin\Model; use Think\Model; class CategoryModel extends Model{ protected $_validate = array( //array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), array('cate_name',

夺命雷公狗ThinkPHP项目之----企业网站7之栏目的修改(主要用模型来验证字段)

我们照老,在控制器里面先查出我们所需要用到的数据: 然后直接遍历到模版上即可: 然后再开始写提交过来的数据处理问题(注意一定要接收修改页面通过隐藏域)而且我们刚才已经写好我们的model层了,所以直接用大D即可实现: <!doctype html> <html> <head> <meta charset="UTF-8"> <title>后台管理</title> <link rel="styleshe