zencart分类页每页显示产品数量自定义选择的方法
2014-10-16 12:15
267 查看
zencart默认分类页每页显示产品数量是固定的,如何让顾客可以选择每页显示的产品的数量呢?
效果图
方式一:全部展示
方式二:下拉菜单
修改方法
1.导入sql
2.后台 - Configuration - Product Listing - 产品列表页- 每页显示产品数量,填写可供选择的每页产品数量。
3.includes\modules\YOUR_TEMPLATE\product_listing.php中,查找
后面增加
查找
修改为
4.includes\templates\YOUR_TEMPLATE\templates\tpl_modules_product_listing.php中,查找
如果使用全部展示方式,在其后增加
如果使用下拉菜单方式,在其后增加
大家可以根据上面的思路,写出更多如商品横竖排,价格从高到低,从低到高等加强用户体验的方法。
效果图
方式一:全部展示
方式二:下拉菜单
修改方法
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" onchange="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>
大家可以根据上面的思路,写出更多如商品横竖排,价格从高到低,从低到高等加强用户体验的方法。
相关文章推荐
- 实现自定义分页(如:改变传统datagrid的分页显示、通过A-Z的字母来分页等)、选择的check
- 产品列表显示的位置上移下移排序的问题的解决方法!
- jsp导出excel身份证过长导致显示不正常自定义单元格格式解决方法
- 自定义UITableViewCell不能显示圆角的解决方法
- 自定义UITableViewCell不能显示圆角的解决方法
- 显示用户是否在线的方法 选择自 cqhand 的 Blog
- editorGridPanel++中+有一列使用combobox+,选择后显示的是value+而不是name.+解决方法
- JTable显示和隐藏列的方法(自定义公用类)
- 如何在产品详细页里显示产品的销售数量
- 使用jquery的autocomplete的方法,进行用户自定义的显示列表方法给用户
- 2007透明加密一览(3)-选择透明加密产品的方法以及市场准入条件
- 固定水晶报表每页显示的行数两种方法
- 在WORD中设置,每页都显示相同内容的方法。
- JTable显示和隐藏列的方法(自定义公用类)
- 在商品详细页,随机显示一定数量的同类产品 有利于SEO
- 实现自定义分页(如:改变传统datagrid的分页显示、通过A-Z的字母来分页等)、选择的check
- GridView 后台排列 Column 、 用户自定义GridView 显示、GridView的PreRender ,Init,Load 方法
- LWUIT Font显示的解决方法,LWUIT设置自定义的Font
- 选择后显示不同的颜色和图片的方法
- zencart在商品详细页,随机显示一定数量的同类产品