首页 > CMS > 织梦DEDE > 正文

DedeCMS教程:在列表页输出当前页码相关信息_DedeCms教程

2024-08-30 19:10:02
字体:
来源:转载
供稿:网友

本方法原理上适用于DedeV5.3及以上所有的版本,不分编码。

这个问题来源于刚才有一位朋友的需求,他希望在列表页可以自由的调用当前栏目的一些与页码相关的信息。这个需求如果用自带的织梦标签,是无法实现的,我们需要修改源代码后才可实现。

实现步骤

代码修改

打开/include/arc.listview.class.php 文件,找到: 

  1. if(preg_match('/index/i'$listitem)) $plist .= $indexpage
  2. if(preg_match('/pre/i'$listitem)) $plist .= $prepage
  3. if(preg_match('/pageno/i'$listitem)) $plist .= $listdd
  4. if(preg_match('/next/i'$listitem)) $plist .= $nextpage
  5. if(preg_match('/end/i'$listitem)) $plist .= $endpage
  6. if(preg_match('/option/i'$listitem)) $plist .= $optionlist
  7. if(preg_match('/info/i'$listitem)) $plist .= $maininfo

这样的代码,一共有两处(静态分页函数与动态分页函数),修改为:

  1. //页码信息相关输出 By 织梦教程网(华强) QQ:3421209 
  2. $PageNo = $this->PageNo; 
  3. $TotalResult = $this->TotalResult; 
  4. $TotalPage = $totalpage
  5. $PageSize = $this->PageSize; 
  6. if(preg_match('/thisPage/i'$listitem)) $plist .= $PageNo
  7. if(preg_match('/TotalResult/i'$listitem)) $plist .= $TotalResult
  8. if(preg_match('/TotalPage/i'$listitem)) $plist .= $TotalPage
  9. if(preg_match('/PageSize/i'$listitem)) $plist .= $PageSize
  10.  
  11. if(preg_match('/index/i'$listitem)) $plist .= $indexpage
  12. if(preg_match('/pre/i'$listitem)) $plist .= $prepage
  13. if(preg_match('/pageno/i'$listitem)) $plist .= $listdd
  14. if(preg_match('/next/i'$listitem)) $plist .= $nextpage
  15. if(preg_match('/end/i'$listitem)) $plist .= $endpage
  16. if(preg_match('/option/i'$listitem)) $plist .= $optionlist
  17. if(preg_match('/info/i'$listitem)) $plist .= $maininfo

保存后即可。

注:要修改两处,一个是静态的,一个是动态的,你可以用相关编辑软件的搜索功能进行查找。

前台调用

接下来我们就可以在我们所需要的前台页面(模板文件名一般为 list_***.htm)进行调用了,调用的代码一共有如下几个:

  1. 文档总数:{dede:pagelist listitem="TotalResult"/} 
  2. 分页总数:{dede:pagelist listitem="TotalPage"/} 
  3. 分页大小:{dede:pagelist listitem="PageSize"/} 
  4. 当前页码:{dede:pagelist listitem="thisPage"/} 

它可以实现在列表页模板中任意地方的调用,也可以同时在多个地方进行调用。

效果预览

接下来,我们来看一下前台的效果预览吧

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表