ecshop分页类assign_pager分析和扩展
?ecshop分頁(yè)類assign_pager分析和擴(kuò)展,我們前面的文章中介紹過ecshop ajax分頁(yè),他的基礎(chǔ)都是簡(jiǎn)單單一的分頁(yè)。如果我們要在ecshop分頁(yè)里面?zhèn)魅胱约旱膮?shù),你就必須對(duì)ecshop的assign_pager分頁(yè)函數(shù)進(jìn)行系統(tǒng)的認(rèn)識(shí)和分析。
???? 首先我們看category.php的ecshop分類頁(yè)面列表分頁(yè)。
???? 1:首先根據(jù)傳入的參數(shù),取得分頁(yè)的page。然后取得默認(rèn)的排序和分頁(yè)參數(shù)。
???? 2:根據(jù)參數(shù)和分類ID。取得分類下商品數(shù)量。
???? $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:通過調(diào)用ecshop的分頁(yè)分類封裝,形成以下代碼。
??? assign_pager('category',??????????? $cat_id, $count, $size, $sort, $order, $page, '', $brand, $price_min, $price_max, $display, $filter_attr_str); // 分頁(yè)
???? 當(dāng)我們看到assign_pager的時(shí)候。我們就想到了一個(gè)問題。assign_pager()函數(shù)起到了關(guān)鍵的作用。分頁(yè)類函數(shù)主要參數(shù)有分頁(yè)所屬的頁(yè)面類型,排序方式,頁(yè)碼,屬性參數(shù),品牌,搜索關(guān)鍵字和價(jià)格等。
?? 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是最重要的。他直接決定了分頁(yè)所顯示的內(nèi)容的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是決定分頁(yè)內(nèi)容的地址的。如果為brand表示品牌分頁(yè),如果是category表示分類分頁(yè)。后面的參數(shù)根據(jù)自己的具體需要進(jìn)行傳遞。如果我們要給新增加的頁(yè)面增加分頁(yè)功能。那么我們完全可以這樣操作。
?? 1:比如新增ecshop頁(yè)面team.php為他增加分頁(yè) 。
??? assign_pager('team', $tid, $count, $size, '', '', $page, $goon_keywords);
??? 其次我們必須修改function build_uri($app, $params, $append = '', $page = 0, $keywords = '', $size = 0),增加對(duì)應(yīng)的內(nèi)容路徑建設(shè)方式。這樣就能動(dòng)態(tài)的為新增加的ecshop頁(yè)面增加分頁(yè)。
?
http://www.chinab4c.com/html/shangchengchengxu/ecshopchangjianwenti/2011/1102/912.html
原文:
轉(zhuǎn)載于:https://www.cnblogs.com/puzi0315/archive/2012/08/17/2643298.html
總結(jié)
以上是生活随笔為你收集整理的ecshop分页类assign_pager分析和扩展的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#语言使用多态(接口与override
- 下一篇: 知识汇集