zencart默认分类页每页显示产品数量是固定的,如何让顾客可以选择每页显示的产品的数量呢?
效果图

方式一:全部展示

方式二:下拉菜单

修改方法

1.导入sql

INSERT INTO configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function)
VALUES
(NULL, '产品列表页- 每页显示产品数量', 'CUSTOM_PRODUCT_LISTING_NUMBER', '3,6,9', '示例 3,6,9 <br />数字间用英文逗号隔开', 8, 2, NOW(), NOW(), NULL, NULL);

2.后台 - Configuration - Product Listing - 产品列表页- 每页显示产品数量,填写可供选择的每页产品数量。

3.includes\modules\YOUR_TEMPLATE\product_listing.php中,查找

$show_submit = zen_run_normal();

后面增加

$allnum=$db->Execute($listing_sql);
if(isset($_GET['pagesize']) && (int) $_GET['pagesize'] >0 && (int) $_GET['pagesize'] < 5000){$pagenum=(int) $_GET['pagesize'];
}elseif($_GET['pagesize']=='all'){$pagenum=$allnum->RecordCount();
}else{$pagenum=MAX_DISPLAY_PRODUCTS_LISTING;
}

查找

$listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_PRODUCTS_LISTING, 'p.products_id', 'page');

修改为

$listing_split = new splitPageResults($listing_sql, $pagenum, 'p.products_id', 'page');

4.includes\templates\YOUR_TEMPLATE\templates\tpl_modules_product_listing.php中,查找

<div id="productsListingTopNumber" class="navSplitPagesResult back"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></div>
<div id="productsListingListingTopLinks" class="navSplitPagesLinks forward"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, zen_get_all_get_params(array('page', 'info', 'x', 'y', 'main_page'))); ?></div>
<br class="clearBoth" />

如果使用全部展示方式,在其后增加

<?php$perPage=$_GET['pagesize'];$parameters = zen_get_all_get_params(array('page', 'info', 'x', 'y', 'pagesize'));$perpage_links = '<div class="perPage">Items Per Page: ';$array_perpage=explode(',',CUSTOM_PRODUCT_LISTING_NUMBER);foreach($array_perpage as $value){$perpage_links .= ($perPage!=$value) ? '<a href="' . zen_href_link($_GET['main_page'], $parameters.'&pagesize=' .$value, 'NONSSL') . '">'.$value.'</a>' :$value;$perpage_links .= ' | ';}$perpage_links .= ($perPage!='all') ? '<a href="' . zen_href_link($_GET['main_page'], $parameters.'&pagesize=all&', 'NONSSL') . '">All</a>' : 'ALL';$perpage_links .= '</div>';$parameters='';echo $perpage_links;
?>

如果使用下拉菜单方式,在其后增加

<?php$perPage=$_GET['pagesize'];$parameters = zen_get_all_get_params(array('page', 'info', 'x', 'y', 'pagesize'));$perpage_links = '<div class="perPage"><strong>Show: </strong>';$perpage_links .='<select name="pagesize" οnchange="changePagesize(this);">';$array_perpage=explode(',',CUSTOM_PRODUCT_LISTING_NUMBER);foreach($array_perpage as $value){if($perPage==$value){$perpage_links .='<option value="'.$value.'" selected="selected">'.$value.'</option>';}else{$perpage_links .='<option value="'.$value.'">'.$value.'</option>';}}if($perPage=='all'){$perpage_links .='<option value="all" selected="selected">All</option>';}else{$perpage_links .='<option value="all">All</option>';}$perpage_links .='</select>';$perpage_links .= '</div>';echo $perpage_links;
?>
<script language="javascript"  type="text/javascript">
function changePagesize(obj){window.location.href= "<?php echo str_replace('amp;','',zen_href_link($_GET['main_page'], $parameters, 'NONSSL')) ?>"+ "&pagesize="+obj.value;
}
</script>

大家可以根据上面的思路,写出更多如商品横竖排,价格从高到低,从低到高等加强用户体验的方法。

转载于:https://www.cnblogs.com/afish/p/4028501.html

zencart分类页每页显示产品数量自定义选择的方法相关推荐

  1. Lodop分页打印每页显示页头页尾

    Lodop分页打印页头页尾问题 1. Lodop页头页尾打印标签 1.1 caption标签:caption标签的内容只显示在首页 1.2 thead标签: 页头标签, 此标签的内容为页头, 显示在每 ...

  2. Diango博客--9.归档、分类和标签页

    文章目录 0.思路引导 1.回顾 2.归档页面 3.分类页面 4.标签页面 0.思路引导 侧边栏已经正确地显示了最新文章列表.归档.分类.标签等信息,现在来完善归档.分类和标签功能. 当用户点击归档下 ...

  3. 图标和文字跟着div比例放大缩小_Word文档页面显示比例与单页多页,文本的输入、修改、删除与插入...

    在默认情况下,文档页面都以100%显示,但最大可放大到500%,最小可缩小到10%,可根据自己的爱好设置.一般保持默认即可.另外,还可以设置一屏显示一页还是多页:此外,还能把文档设置为页宽. 在 Wo ...

  4. 列表页进入详情页再返回列表页时,显示默认第一页的bug修复

    如图所示,当我点击分页第二页的第一项,进入详情页后,在点击返回按钮,按理说应该返回到列表页第二页,但是却变成了默认的首页 究其原因,大概是在返回列表页时,接口传参的当前页码pageNum默认传的是1, ...

  5. 浏览器访问网站标签页小图标显示

    浏览器访问网站标签页小图标显示 1.对于IE浏览器:把需要显示的16x16像素的ICO图标命名为favicon.ICO放置在网站根目录下,浏览器会自动检索 2.对于其他浏览器通用的在标签页加入指定图标 ...

  6. 【word】word表格不自动跨页,文字显示不全

    @[TOC]word表格不自动跨页,文字显示不全 需要设置当前表格的属性,选择行->不勾选[指定高度]属性->勾选[允许跨页断行]属性

  7. 当前安全设置禁止运行该页中activeX控件,该页无法正常显示

    运行services查看服务时,当前安全设置禁止运行该页中activeX控件,该页无法正常显示:打开一个project文件时,也显示 当前安全设置禁止运行该页中activeX控件,该页无法正常显示. ...

  8. 论文中如何让页眉上自动显示章节标题

    在论文中,我们可能会需要在每页的页眉上自动显示章节标题,如下图所示: 操作步骤如下(我的是word2016): 首先设置好各级标题,我们目前需要插入的是章节标题,记下章节标题对应的格式. 双击页眉,进 ...

  9. 亚马逊跨境电商如何编辑产品详情页 亚马逊产品listing优化

    产品详情页是买家了解产品的重要途径.也是影响产品转化率的重要因素.今天海熹跨境人才网给大家分享一下关于亚马逊跨境电商产品详情页的优化,亚马逊产品listing优化.一起来了解一下吧. 1:售前关联营销 ...

最新文章

  1. SDN 网络技术创新探索 | 移动云 TeaTalk 线上直播 倒计时启动中
  2. AI一分钟|研究人员证明“金钱真的可以买到快乐”;特斯拉中国梦面临威胁
  3. 中国软件业真的到了该反思的时候了
  4. 详解JDBC与Hibernate区别
  5. Matlab篇(二)MATLAB中addpath的用法 (转)
  6. 数据分析精华经验分享,看看冠军是如何炼成的?
  7. 华为笔记本软件商店_华为应用市场 PC 端体验:干净好用 - 华为
  8. 那天,他无意间瞟了眼程序员的桌面……
  9. java.lang.IllegalStateException: Ambiguous mapping found. Cannot map ' ' bean method
  10. mac终端配置Android ADB命令
  11. C/C++ Socket编程Http下载的简单实现
  12. ARM汇编指令MCR/MRC学习
  13. 安卓天气查询预报APP软件的制作
  14. 基于opencv,C++实现中值滤波器
  15. 谷歌浏览器二维码识别插件,解决你二维码识别跳转难题
  16. java蓝桥杯合根植物_Java实现蓝桥杯 历届试题 合根植物
  17. 可文件存储的动态通讯录(C语言)
  18. 微信小程序接入易云章(H5)人脸识别 uniApp
  19. winform抓取淘宝宝贝详细页的上下架时间等信息
  20. windows关机与重启bat脚本

热门文章

  1. 目标检测--吴恩达深度学习记录
  2. [置顶] C/C++超级大火锅
  3. mybatis与mysql调优_MySQL + mybatis的SQL优化方案
  4. android videoview播放进度,android – 获取视频播放视频的进度时间?
  5. 电热耦合_教育部关于发布电热原子吸收光谱分析方法通则等30个教育行业标准的通知...
  6. WINDOWS下对音频的处理过程(转)
  7. Python 实现链表和二叉树
  8. 【论文解读】通过知识蒸馏促进轻量级深度估计
  9. 清华团队最新成果:可致特朗普能咏比特币,AI写古诗“更上一层楼”
  10. Github标星5.4k+:常见NLP模型的代码实现(基于TensorFlow和PyTorch)