解决ecshop新建页面分页问题

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家

虽然是简单的问题当今天客户提前后www.meiweidao.com(公司刚开发的) 我才回忆起好多网友问过我这个问题,但通过我今天的研究才知道我只回答了一半,抱歉,现在我会把完整解决方案分享如下 :


比如 http://www.meiweidao.com/baike_list.php?id=14我单独建立了baike_list.php 我们需要分页,


第一步:assign_pager('baike_list', $cat_id, $count, $size, '', '', $page, $goon_keywords); 这个地方就是我们的文件名。

第二步:include lib_main.php 找到 assign_pager 这个函数这个函数比较长 我把改的地方贴出来 大家一对比就明白
  1. switch ($app)
  2. {
  3. case 'category':
  4. $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);
  5. break;
  6. case 'article_cat':
  7. $uri_args = array('acid' => $cat, 'sort' => $sort, 'order' => $order);
  8. break;
  9. break;
  10. case 'baike_list':
  11. $uri_args = array('acid' => $cat, 'sort' => $sort, 'order' => $order);
  12. break;
  13. case 'brand':
  14. $uri_args = array('cid' => $cat, 'bid' => $brand, 'sort' => $sort, 'order' => $order, 'display' => $display_type);
  15. break;
  16. case 'search':
  17. $uri_args = array('cid' => $cat, 'bid' => $brand, 'sort' => $sort, 'order' => $order);
  18. break;
  19. case 'exchange':
  20. $uri_args = array('cid' => $cat, 'integral_min'=>$price_min, 'integral_max'=>$price_max, 'sort' => $sort, 'order' => $order, 'display' => $display_type);
  21. break;
  22. }
复制代码


第三步:includelib_common.php 找到build_uri在个函数 照猫画虎 大家看到我贴的代码就知道该加那里了
  1. case 'baike_list':
  2. if (empty($acid))
  3. {
  4. return false;
  5. }
  6. else
  7. {
  8. if ($rewrite)
  9. {
  10. $uri = 'article_cat-' . $acid;
  11. if (!empty($page))
  12. {
  13. $uri .= '-' . $page;
  14. }
  15. if (!empty($sort))
  16. {
  17. $uri .= '-' . $sort;
  18. }
  19. if (!empty($order))
  20. {
  21. $uri .= '-' . $order;
  22. }
  23. if (!empty($keywords))
  24. {
  25. $uri .= '-' . $keywords;
  26. }
  27. }
  28. else
  29. {
  30. $uri = 'baike_list.php?id=' . $acid;
  31. if (!empty($page))
  32. {
  33. $uri .= '&page=' . $page;
  34. }
  35. if (!empty($sort))
  36. {
  37. $uri .= '&sort=' . $sort;
  38. }
  39. if (!empty($order))
  40. {
  41. $uri .= '&order=' . $order;
  42. }
  43. if (!empty($keywords))
  44. {
  45. $uri .= '&keywords=' . $keywords;
  46. }
  47. }
  48. }

  49. break;
复制代码


到这我们会发现 里面有伪静态的判断所以 网站需要搞伪静态的话 你需要修改.htaccess依然照猫画虎 你复制article_cat.php 即可。

经常有网友问到此问题,所以我会贴出来 ,我们会不断努力,把网友问的频率比较高的问题解决办法会贴出来。

回答:


其实新加的分页不需要伪静态的情况下建议用get_pager()函数处理更直接,assign_pager其实用起来更麻烦,例如新增的php页面是diy.php,则两行就可以搞定分页问题:
  1. $pager = get_pager('diy.php', $param, $count, $page, $size);
  2. $smarty->assign('pager', $pager);
复制代码

好帖,支持!!

奇老师好

很负责人哦

谢谢您的辛苦

我就是出现重写后不好使的问题。去试试。顶了 好贴

谢谢大家的支持啊

大家有啥问题可以多交流。。