您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
ecshop分页函数get_pager重写
简务2025-01-08Ecshop商城教程已有人查阅
导读在分页的时候要按照自己的需求分页,所有在ecshop原有的分页函数基础上进行了修改:返回的$pager 数组里面包含了第一页/末页 、上一页/下一页 已经分页显示的码数及地址
在分页的时候要按照自己的需求分页,所有在ecshop原有的分页函数基础上进行了修改:
function my_get_pager($url,$param,$record_count,$page = 1,$size = 10){
$size =intval($size);//每页显示几条记录
if($size<1){ //如果每页显示的记录小于1的话
$size = 10;//将每页显示记录条数设置为10
}
$page = intval($page);///当前页码
if ($page < 1) ///如果当前页码小于1的话
{
$page = 1;///将当前页码默认设置为1
}
$record_count = intval($record_count);///记录总数量
$page_count = $record_count > 0 ? intval(ceil($record_count / $size)) : 1; ///总页数
if ($page > $page_count) ///如果当前页码大于总页数
{
$page = $page_count;///则将总页数赋值给当前页码
}
$page_prev = ($page > 1) ? $page - 1 : 1; ///前一页
$page_next = ($page < $page_count) ? $page + 1 : $page_count; ///后一页
/* 将参数合成url字串 */
$param_url = '?'; ///参数组成的url字符串 如:"?act=list"
foreach ($param AS $key => $value) ///键值对数组参数
{
$param_url .= $key . '=' . $value . '&'; ///"?号后面的参数"
}
$pager['url'] = $url; ///第一个参数,是一个文件名 如:get_comment.php
$pager['start'] = ($page -1) * $size; ///查询时的起始位置
$pager['page'] = $page; ///当前页
$pager['size'] = $size; ///每页显示的记录条数
$pager['record_count'] = $record_count; ///记录总数
$pager['page_count'] = $page_count; ///总页数
$_pagenum = 10; // 显示的页码
$_offset = 2; // 当前页偏移值
$_from = $_to = 0; // 开始页, 结束页
if($_pagenum > $page_count) ///如果显示的页码 大于 总页数,如:显示10页 总页数为8 则显示1-8
{
$_from = 1; ///从1开始
$_to = $page_count; ///到 总页数 为止
}
else ///如果 显示的页码 小于 总页码,如:显示10页 总页数为15
{///(1)假如当前页为2,则$_from为0,$_to为9 (2)假如当前页为6,则$_from为4,$_to为13
$_from = $page - $_offset; ;///(1)$_from为0 (2)$_from为4 当前页-当前页偏移量,如: 1-10、2-11、3-12、4-13、5-14、6-15、不会出现7-16、8-17,因为总页数是15
$_to = $_from + $_pagenum - 1; ///(1)$_to为9 (2)$_to为13
if($_from < 1)
{
$_to = $page + 1 - $_from; ///(1)则$_to为3
$_from = 1; ///(1)$_from重新复制为1
if($_to - $_from < $_pagenum) //(1)3-1 小于 要显示的页码数
{
$_to = $_pagenum; ///(1)则$_to重新复制为10
}
}
elseif($_to > $page_count) //(2)如果13 大于 10的话 如果14 大于 10的话
{
$_from = $page_count - $_pagenum + 1; ///(2)$_from为起始页数:15-10+1=6
$_to = $page_count; //(2)$_to为总页数:15
}
}
$url_format = $url . $param_url . 'page=';
$pager['page_first'] = ($page - $_offset > 1 && $_pagenum < $page_count) ? $url_format . 1 : '';
$pager['page_prev'] = ($page > 1) ? $url_format . $page_prev : '';
$pager['page_next'] = ($page < $page_count) ? $url_format . $page_next : '';
$pager['page_last'] = ($_to < $page_count) ? $url_format . $page_count : '';
$pager['page_number'] = array();
for ($i=$_from;$i<=$_to;++$i)
{
$pager['page_number'][$i] = $url_format . $i;
}
return $pager;
};
返回的$pager 数组里面包含了第一页/末页 、上一页/下一页 已经分页显示的码数及地址,赋值到前端页面即可实习自定义分页!
本文标签:
很赞哦! ()
下一篇:ecshop文章随机调用方法
图文教程
ecshop后台开发模块步骤实例
第一步首先我们用phpmyadmin建一个支付表,表名:ecs_pay表字段:pay_id,pay_name,pay_info,pay_bank,pay_credit,pay_state第二步添加到后台左侧导航栏并配置权限和相关语言包
ecshop商品销售排行怎么显示商品图片
ecshop的销售排行部分,默认模板是只有前3个商品带小图片显示,如何实现让10个商品都显示小图片呢
ecshop首页怎么滚动显示最新订单
ecshop添 加新功能我感觉无外乎就是两个地方的修改,显示的要修改模板,为了方便下次升级,很好都做成lbi,下次升级了直接把lbi拷进去
ecshop商品列表页属性筛选区品牌筛选以LOGO图片形式展示
如何实现商品列表页属 筛选区品牌筛选以LOGO形式展示,代码号总结ecshop教程入下:1、修改 category.php 文件,将(大概215行)
相关源码
-
(自适应)帝国CMS7.5模板淘宝客导购博客文章源码本模板基于帝国CMS7.5内核深度开发,为电商导购类网站设计。采用响应式布局技术,确保在手机、平板及电脑端均能获得优质浏览体验。模板内置商品推荐模块与优惠信息展示区,可快速搭建专业导购平台。查看源码 -
(PC+WAP)蓝色不锈钢簧线金属制品营销型pbootcms网站模板本模板基于PbootCMS内核开发,为不锈钢及金属制品企业量身打造。采用响应式设计,适配PC与移动设备,提供统一后台管理体验,数据实时同步更新。查看源码 -
(PC+WAP)蓝色钢材加工建筑装修施工材料网站模板下载为钢材加工企业设计的PbootCMS响应式模板,采用PC+WAP双端适配技术,数据实时同步。简洁大气的蓝色工业风格设计,突出钢材加工行业特性,其他制造业用户更换图文内容即可快速应用。查看源码 -
(自适应响应式)蓝色勘察设计院机构单位商会协会pbootcms模板下载本模板基于PbootCMS系统开发,为勘察设计院所、工程咨询单位设计,特别适合展示设计成果、技术服务和项目案例。采用响应式技术,确保设计图纸和方案以及文案在不同设备上都能清晰展示。查看源码 -
(自适应响应式)高端家用办公家具家居桌椅pbootcms模板下载为办公家具企业设计的响应式网站模板,涵盖产品展示、案例呈现、企业介绍等核心模块。通过可视化后台可快速发布实木桌椅、系统家具、办公屏风等产品信息,帮助客户直观了解材质参数与空间搭配方案。查看源码 -
(自适应)html5导航目录索引工具类网站源码下载本模板基于PbootCMS开发,为站长导航、网址导航类网站设计。采用HTML5+CSS3技术构建,适配PC端和移动端,提供流畅的浏览体验。适用于个人站长、资源导航平台等场景查看源码
| 分享笔记 (共有 篇笔记) |
