zoukankan      html  css  js  c++  java
  • ecshop分页类assign_pager分析和扩展

     ecshop分页类assign_pager分析和扩展,我们前面的文章中介绍过ecshop ajax分页,他的基础都是简单单一的分页。如果我们要在ecshop分页里面传入自己的参数,你就必须对ecshop的assign_pager分页函数进行系统的认识和分析。

         首先我们看category.php的ecshop分类页面列表分页。

         1:首先根据传入的参数,取得分页的page。然后取得默认的排序和分页参数。

         2:根据参数和分类ID。取得分类下商品数量。

         $count = get_cagtegory_goods_count($children, $brand, $price_min, $price_max, $ext);
        $max_page = ($count> 0) ? ceil($count / $size) : 1;
        if ($page > $max_page)
        {
            $page = $max_page;
        }

        3:通过调用ecshop的分页分类封装,形成以下代码。

        assign_pager('category',            $cat_id, $count, $size, $sort, $order, $page, '', $brand, $price_min, $price_max, $display, $filter_attr_str); // 分页

         当我们看到assign_pager的时候。我们就想到了一个问题。assign_pager()函数起到了关键的作用。分页类函数主要参数有分页所属的页面类型,排序方式,页码,属性参数,品牌,搜索关键字和价格等。

       function assign_pager($app, $cat, $record_count, $size, $sort, $order, $page = 1,
                            $keywords = '', $brand = 0, $price_min = 0, $price_max = 0, $display_type = 'list', $filter_attr='', $url_format='', $sch_array='')
     

        这里的$app是最重要的。他直接决定了分页所显示的内容的url.

        switch ($app)
        {
            case 'category':
                $uri_args = array('cid' => $cat, 'bid' => $brand, 'price_min'=>$price_min, 'price_max'=>$price_max, 'filter_attr'=>$filter_attr, 'sort' => $sort, 'order' => $order, 'display' => $display_type);
                break;
            case 'article_cat':
                $uri_args = array('acid' => $cat, 'sort' => $sort, 'order' => $order);
                break;
            case 'brand':
                $uri_args = array('cid' => $cat, 'bid' => $brand, 'sort' => $sort, 'order' => $order, 'display' => $display_type);
                break;
            case 'search':
                $uri_args = array('cid' => $cat, 'bid' => $brand, 'sort' => $sort, 'order' => $order);
                break;
            case 'exchange':
                $uri_args = array('cid' => $cat, 'integral_min'=>$price_min, 'integral_max'=>$price_max, 'sort' => $sort, 'order' => $order, 'display' => $display_type);
                break;
        }

        我们可以看出$app是决定分页内容的地址的。如果为brand表示品牌分页,如果是category表示分类分页。后面的参数根据自己的具体需要进行传递。如果我们要给新增加的页面增加分页功能。那么我们完全可以这样操作。

       1:比如新增ecshop页面team.php为他增加分页 。

        assign_pager('team', $tid, $count, $size, '', '', $page, $goon_keywords);

        其次我们必须修改function build_uri($app, $params, $append = '', $page = 0, $keywords = '', $size = 0),增加对应的内容路径建设方式。这样就能动态的为新增加的ecshop页面增加分页。

    http://www.chinab4c.com/html/shangchengchengxu/ecshopchangjianwenti/2011/1102/912.html

    原文:

    作者:沐雪
    文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
    如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
    找一找教程网-随时随地学软件编程 http://www.zyiz.net/

  • 相关阅读:
    layui动态修改表单form内容
    jquery-实现表单拖拽拼图验证功能
    jquery-实现省市区地址选择器三级联动
    python学习笔记(七)break 和continue
    python 学习笔记(六)for循环、for嵌套循环案例
    python学习笔记(5) while嵌套循环案例
    python学习笔记(四)if嵌套格式和案例
    Experiment
    Variational Image Compression With a Scale Hyperprior(ICLR 2018)
    Video Compression through Image Interpolation(ECCV 2018)
  • 原文地址:https://www.cnblogs.com/puzi0315/p/2643298.html
Copyright © 2011-2022 走看看