ecshop ajax分页代码,ECSHOP品牌列表页实现分页的方法

ECSHOP品牌列表页brand.php默认是没有分页的,如果品牌太多了,就不方便了。所以民能加上一个分页功能。

第一步:

打开根目录 brand.php 文件

查找:if (empty($brand_id))

{

/* 缓存编号 */

$cache_id = sprintf('%X', crc32($_CFG['lang']));

if (!$smarty->is_cached('brand_list.dwt', $cache_id))

{

assign_template();

$position = assign_ur_here('', $_LANG['all_brand']);

$smarty->assign('page_title',      $position['title']);    // 页面标题

$smarty->assign('ur_here',         $position['ur_here']);  // 当前位置

$smarty->assign('categories',      get_categories_tree()); // 分类树

$smarty->assign('helps',           get_shop_help());       // 网店帮助

$smarty->assign('top_goods',       get_top10());           // 销售排行

$smarty->assign('brand_list', get_brands());

}

$smarty->display('brand_list.dwt', $cache_id);

exit();

}

修改为:if (empty($brand_id))

{

assign_template();

$position = assign_ur_here('', $_LANG['all_brand']);

$smarty->assign('page_title',      $position['title']);    // 页面标题

$smarty->assign('ur_here',         $position['ur_here']);  // 当前位置

$smarty->assign('categories',      get_categories_tree()); // 分类树

$smarty->assign('helps',           get_shop_help());       // 网店帮助

$smarty->assign('top_goods',       get_top10());           // 销售排行

$sql = "SELECT count(*) as brand_count from ( select b.brand_id ".

"FROM " . $GLOBALS['ecs']->table('brand') . "AS b, ".

$GLOBALS['ecs']->table('goods') . " AS g ".

"WHERE g.brand_id = b.brand_id AND is_show = 1 " .

" AND g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 ".

"GROUP BY b.brand_id ) AS gb";

$brand_count=$GLOBALS['db']->getOne($sql);  //品牌(含有商品的)数量

$page       = !empty($_REQUEST['page'])  && intval($_REQUEST['page'])  > 0 ? intval($_REQUEST['page'])  : 1;

$size       = 30;

$max_page = ($brand_count> 0) ? ceil($brand_count / $size) : 1;

if ($page > $max_page)  {$page = $max_page;}

$start=($page - 1) * $size;

$sql = "SELECT b.brand_id, b.brand_name, b.brand_logo, b.brand_desc, COUNT(*) AS goods_num, IF(b.brand_logo > '', '1', '0') AS tag ".

"FROM " . $GLOBALS['ecs']->table('brand') . "AS b, ".

$GLOBALS['ecs']->table('goods') . " AS g ".

"WHERE g.brand_id = b.brand_id AND is_show = 1 " .

" AND g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 ".

"GROUP BY b.brand_id HAVING goods_num > 0 ORDER BY tag DESC, b.sort_order ASC limit $start,$size";

$row = $GLOBALS['db']->getAll($sql);

foreach ($row AS $key => $val)

{

$row[$key]['url'] = build_uri('brand', array('cid' => $cat, 'bid' => $val['brand_id']), $val['brand_name']);

$row[$key]['brand_desc'] = htmlspecialchars($val['brand_desc'],ENT_QUOTES);

}

$pager['search'] = array( );

$pager = get_pager('brand.php', $pager['search'], $brand_count, $page, $size);

$pager['display'] = $display;

$smarty->assign('pager', $pager);

$smarty->assign('brand_list', $row);

$smarty->display('brand_list.dwt');

exit();

}

其中,第10行的

$size       = 30;

表示每页的数量

第二步:

打开模板文件 brand_list.dwt

在需要显示分页的地方加入以下代码:

OK了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值