ecshop教程

ECSHOP品牌列表页实现分页的办法

ecshop教程 51源码 2022-11-29 人阅读

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

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




大功告成

版权声明:文章搜集于网络,如有侵权请联系本站,转载请说明出处:https://www.51yma.cn/jiaocheng/ecshop/822.html
文章来源: