网上找到的办法就只有分页,而且是有问题的,无限分页
- 1、打开 \source\class\block\portal\block_article.php 文件
- 找到
- function getdata($style, $parameter)
- 修改为
- function getdata($style, $parameter, $bid)
- 找到
- $query = DB::query("SELECT at.*, ac.viewnum, ac.commentnum FROM ".DB::table('portal_article_title')." at LEFT JOIN ".DB::table('portal_article_count')." ac ON at.aid=ac.aid WHERE $wheresql$keyword ORDER BY $orderby LIMIT $startrow, $items");
- 在其上方加入:
- //首页翻页修改
- if($bid==53){
- $page = $_REQUEST['page']?$_REQUEST['page']:1;
- $startrow = ($page-1)*$items;
- }
- 这里的bid为diy的记录id,查看方法可以通过firebug工具查看。此文中后面用到的bid均为此含义。
- 2、打开 \source\function\function_block.php 文件
- 找到
- if($forceupdate) {
- block_updatecache($bid, true);
- $block = $_G['block'][$bid];
- }
- 在其上方加入:
- //如果是首页最新文章,去掉缓存
- if ($bid == 53) {
- $forceupdate = 1;
- }
- 找到
- $return = $obj->getdata($thestyle, $block['param']);
- 修改为
- $return = $obj->getdata($thestyle, $block['param'],$bid);
- 3、打开 \source\function\function_core.php 文件
- 找到 function block_display($bid) 方法
- 在其方法内的尾部加入:
- //翻页更改
- if($bid==53){
- $page = $_REQUEST['page']?$_REQUEST['page']:1;
- $html = "<style>"
- . ".page{padding:10px; float:left;}"
- . ".page li{float:left; line-height:20px; padding:8px; font-size:16px;}"
- . ".page li .on{color:#f57500; font-weight:800;}"
- . "</style>";
- $html .= '<div class="page"><ul>';
- if($page<11){
- for($i=1;$i<21;$i++){
- if($page == $i){
- $html.='<li><a href="/?page='.$i.'" class="on">'.$i.'</a></li>';
- }else{
- $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
- }
- }
- }else{
- for($i=$page-9;$i<$page;$i++){
- $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
- }
- $html.='<li><a href="/?page='.$page.'" class="on">'.$page.'</a></li>';
- for($i=$page+1;$i<$page+10;$i++){
- $html.='<li><a href="/?page='.$i.'">'.$i.'</a></li>';
- }
- }
- $html .= "</ul></div>";
- echo $html;
- }
复制代码
这种方法出来的分页是无限翻页的
|