phpcms開發就是模仿里面原有的方法進行擴展,前台要實現分頁,就去找后台頁面的分頁實現。
如后台 擴展->后台操作日志,就有分頁展示。
1、先去添加自己的分頁方法(千萬不要在原來的方法上修改,會影響到后台頁面的分頁)
打開 phpcms\libs\functions\global.func.php 文件,在頁面搜索pages,找到分頁方法,然后復制一份修改方法名,修改里面的分頁樣式,變為自己的方法。我起名為pages_home
2、解析pc標簽進行sql查詢類修改。
打開 phpcms/libs/classes/template_cache.class.php,大概在101行,$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$pages=pages($s[\'count\'], $page, $pagesize, $urlrule);';,將這一行復制一份,將方法名改成自己的。
我的如下:$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$pages_home=pages_home($s[\'count\'], $page, $pagesize, $urlrule);';
3、常用分頁類修改。
打開 phpcms/libs/classes/template_cache.class.php,大概在211行,$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);';將這一行復制一份,改成自己的
我的如下:$str .= '$pages_home = pages_home($'.$op.'_total, $page, $pagesize, $urlrule);';
4、查詢列表並分頁類修改。
打開 phpcms\libs\classes\model.class.php,大概在61行,$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
將這一行復制一份,改成自己的。我的如下:
$this->pages = pages_home($this->number, $page, $pagesize, $urlrule, $array, $setpages);
5、前台頁面修改。
前台模板中的{$pages}要修改為{$pages_new}即可。
pc標簽中的參數,num表示每頁顯示的條數,page表示當前頁。
<div class="s5_in"> {pc:content action="lists" catid="13" siteid="1" moreinfo="1" num="3" page="$_GET[page]"} {loop $data $va} <a class="a1"> <img src="{$va[thumb]}" /> <div> <h4> <b>{$va[title]}</b> | <span>{$va[object]}:{$va[symptom]}</span> </h4> <p>{$va[description]}<span><查看詳情></span></p> </div> </a> {/loop} {/pc} </div>
注意:按照上面步驟走下來后,發現分頁怎么都不出來!!!后來發現pages方法里面有個條件,當信息條數大於每頁顯示條數時,分頁才會出現。所以多加幾條數據試試看。