discuz 门户diy实现翻页功能的修改记录

第一步:找到文件:\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均为此含义。

第二部,找到文件\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);

第三步,找到文件:\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;
        }

至此,修改完成,案例请查看:www.php2.cc

时间: 2024-11-03 09:45:38

discuz 门户diy实现翻页功能的修改记录的相关文章

门户diy实现翻页功能的方法

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').&qu

Atitit.pagging &#160;翻页功能解决方案专题 与 目录大纲 v3 r44.docx

Atitit.pagging  翻页功能解决方案专题 与 目录大纲 v3 r44.docx 1.1. 翻页的重要意义1 1.2. Dep废弃文档   paip.js翻页分页pageing组件.txt1 1.3. ---原理1 1.4. -------lib1 1.1.   翻页的重要意义 技术上,商业上,翻页都是一个非常高频率的功能.. 提升高频功能的效率,可以大力提升项目整体效率.. 效率优化的重要原则就是高频功能效率优化 1.2. Dep废弃文档   paip.js翻页分页pageing组件

jsp实现上一页下一页翻页功能

前段时间一直忙于期末考试和找实习,好久没写博客了. 这段时间做了个小项目,包含了翻页和富文本编辑器Ueditor的两个知识点,Ueditor玩的还不是很深,打算玩深后再写篇博客. 要实现翻页功能,只需要设置一个pageIndex即可,然后每次加载页面时通过pageIndex去加载数据就行. 那么我们可以设置一个隐藏的input框,用于传递pageIndex给下个页面. 当我们点击上一页的时候,通过js方法改变pageIndex的值,再提交表单即可 二话不多说,看代码,代码里面写的还算比较清楚.

asp.net GridView 表格之分页显示与翻页功能及自定义翻页页码样式

一.实现分页功能  GridView实现分页只需要在属性框中将AllowPaging(是否在GridView中打开分页功能)设置为true即可 有时打开分页后不显示页码 确保AllowCustomPaging(是否打开对自定义分页的支持)为False即可 二.实现翻页功能  如何点击页码实现翻页呢? 在属性框中事件选择设置PageIndexChanging(在Grid View的当前索引页正在更改事触发)这一事件 后台代码如下 /// <summary> /// 翻页操作 /// 在GridV

【tool】软件测试中翻页功能测试用例设计

翻页功能我们常碰到的一般有以下几个功能: 1.首页.上一页.下一页.尾页. 2.总页数,当前页数 3.指定跳转页 4.指定每页显示条数 当然,有一些是少于多少页,全部以数字的形式显示,多于多少页后,才出现下一页的控件.本文暂且用以上四点来做为通用的用例来设计吧. 对于1翻页链接或按钮的测试,主要要检查的测试点有: 1.有无数据时控件的显示情况 2.在首页时,首页和上一页是否能点击 3.在尾页时,下一页和尾页是否能点击 4.在非首页和非尾页时,四个按钮功能是否正确 5.翻页后,列表中的记录是否仍按

翻页功能的测试用例

翻页功能我们常碰到的一般有以下几个功能:1.首页.上一页.下一页.尾页.2.总页数,当前页数3.指定跳转页4.指定每页显示条数当然,有一些是少于多少页,全部以数字的形式显示,多于多少页后,才出现下一页的控件.本文暂且用以上四点来做为通用的用例来设计吧. 对于1翻页链接或按钮的测试,主要要检查的测试点有:1.有无数据时控件的显示情况2.在首页时,首页和上一页是否能点击3.在尾页时,下一页和尾页是否能点击4.在非首页和非尾页时,四个按钮功能是否正确5.翻页后,列表中的记录是否仍按照指定的排序列进行了

jquery.Table实现的翻页功能比较完整漂亮,本想扩展个模版DIV

jquery.dataTable实现的翻页功能比较完整漂亮,本想提取其的翻页部分,再结合模版DIV,bootstrop实现聊天记息的展示. jquery.Table 与table结合的较紧,不能在很下提取完成. 看了近一天的源码后,对API的结构,实现方式和思路有了基本的认识,但终因工作量太大放弃了提取的念头,时间所迫转用KenDo的翻页 不过这过程中,对其的API实现有了较深的认识. 这里摘录部分资料 以下是在进行dataTable绑定处理时候可以附加的参数: 属性名称 取值范围 解释 bAu

QTableView和QTableWidget翻页功能实现

主要使用QTableView和QTableWidget中的三个函数实现 QTableView::verticalScrollBar()->setSliderPosition():  //设置当前滑动条的位置 QTableView::verticalScrollBar()->maximum();             //滑动条能移动的最大位置 QTableView::verticalScrollBar()->value();                   //获得当前滑动条的位置

asp.net mvc 使用MvcPager实现翻页功能

方法-: 1,在Service中使用pagedlist实现翻页的方法 写法一: /// <summary> /// 政策法规的more列表翻页 /// </summary> /// <param name="page">分页的页码</param> /// <param name="sid">部门代码</param> /// <returns></returns> publ