ecshop 分页原理
来源:互联网 发布:javascript入门书籍 编辑:程序博客网 时间:2024/06/05 21:50
转载地址:http://blog.sina.com.cn/s/blog_75ad101001018l4j.html
仿照后台评论列表来研究了一下Ecshop后台的分页功能,取得成功!
comment_manage.php
//– 获取没有回复的评论列表
if ($_REQUEST[‘act’] == ‘list’)
{
admin_priv('comment_priv');$smarty->assign('ur_here', $_LANG['05_comment_manage']);$smarty->assign('full_page', 1);$list = get_comment_list();$smarty->assign('comment_list', $list['item']);$smarty->assign('filter', $list['filter']);$smarty->assign('record_count', $list['record_count']);$smarty->assign('page_count', $list['page_count']);$sort_flag = sort_flag($list['filter']);$smarty->assign($sort_flag['tag'], $sort_flag['img']);assign_query_info();$smarty->display('comment_list.htm');
}
//– 翻页、搜索、排序
if (_REQUEST[‘act’] == ‘query’)
{list = get_comment_list();
$smarty->assign('comment_list', $list['item']);$smarty->assign('filter', $list['filter']);$smarty->assign('record_count', $list['record_count']);$smarty->assign('page_count', $list['page_count']);$sort_flag = sort_flag($list['filter']);$smarty->assign($sort_flag['tag'], $sort_flag['img']);make_json_result($smarty->fetch('comment_list.htm'), '', array('filter' => $list['filter'], 'page_count' => $list['page_count']));
}
一般都有一个获取数据的方法,这里是get_comment_list()
这个里面我们讲讲 page_and_size这个方法
$filter = page_and_size($filter);
通过这个方法获取:page_size,page,page_count,start
其中,page就是当前第几页,start是用于查询语句里面limit限制的 limit start page_size(示范代码)
我就是主要讲讲,filter,我们称之为过滤器,这个其实就是模板页面下面js显示的,如下:
listTable.filter.keywords = ‘0’;
listTable.filter.sort_by = ‘add_time’;
listTable.filter.sort_order = ‘DESC’;
listTable.filter.record_count = ‘19732’;
listTable.filter.page_size = ‘15’;
listTable.filter.page = ‘1’;
listTable.filter.page_count = ‘1316’;
listTable.filter.start = ‘0’;
这些会在listtable.js里面listTable.compileFilter方法作用下,生成如:keywords=0&sort_by=add_time这样的形式,通过POST方法发送给if (
……………………………………………………………………………………..
模板是comment_list.htm
要说的是js
{insert_scripts files=”../js/utils.js,listtable.js”}
listTable就是实现翻页的脚本
listTable.recordCount = {record_count};
listTable.pageCount = {page_count};
{foreach from=filter item=item key=key}
listTable.filter.{key} = '{$item}’;
{/foreach}
绿色虚线框里面是必须写的,现在之后就是上面蓝色框里面的内容
模板里面还要主要的就是{if $full_page},不要忘写了,参考comment_list.htm
- ecshop 分页原理
- ecshop 分页原理
- Ecshop后台分页原理详解
- Ecshop后台分页原理详解
- ecshop库文件分页
- ecshop前台分页功能
- ecshop 后台分页功能
- ECShop模板原理
- ECShop模板原理
- ecshop session原理
- ecshop购物车原理
- ecshop购物车原理
- Ecshop购物车原理
- ecshop 菜单显示原理
- ecshop后台分页代码提取
- ECSHOP的文章内容分页功能
- ecshop 中分页的介绍
- ecshop后台的新建分页
- cell根据文本长度来自动调整cell高度
- Spring入门学习之Spring MVC(part 1)
- 老生常谈--设计模式
- 机器人操作系统ROS Indigo 入门学习(19)——接下来做什么
- rapidPHP 下载并安装
- ecshop 分页原理
- UITextField总结
- sql中替换字段中的某个字符
- 8大排序算法图文讲解
- 一步一步学区块链(3)客户端使用
- InputStream流的二次读取
- phpcms v9 的表单向导功能的使用方法 附多个案例
- iOS 友盟登录和分享
- orb-slam中的orb特征