今天在仿站的时候遇到一个问题,就是在列表页输出当前分页和总分页的数值,同时这个问题来源于刚才有一位朋友的需求,他希望在列表页可以自由的调用当前栏目的一些与页码相关的信息。这个需求如果用自带的织梦标签,是无法实现的,我们需要修改源代码后才可实现。
下面我们来看一看实现步骤
首先修改代码,让我们打开/include/arc.listview.class.php 文件,找到:
|
if(preg_match(’/index/i’, $listitem)) $plist .= $indexpage;
|
|
if(preg_match(’/pre/i’, $listitem)) $plist .= $prepage;
|
|
if(preg_match(’/pageno/i’, $listitem)) $plist .= $listdd;
|
|
if(preg_match(’/next/i’, $listitem)) $plist .= $nextpage;
|
|
if(preg_match(’/end/i’, $listitem)) $plist .= $endpage;
|
|
if(preg_match(’/option/i’, $listitem)) $plist .= $optionlist;
|
|
if(preg_match(’/info/i’, $listitem)) $plist .= $maininfo;
|
类似的代码在这里总共有两处,一个是空静态分页的,一个是控制动态分页的分页的,尽量都要修改,修改为:
|
$TotalResult = $this->TotalResult;
|
|
$PageSize = $this->PageSize;
|
|
if(preg_match(’/thisPage/i’, $listitem)) $plist .= $PageNo;
|
|
if(preg_match(’/TotalResult/i’, $listitem)) $plist .= $TotalResult;
|
|
if(preg_match(’/TotalPage/i’, $listitem)) $plist .= $TotalPage;
|
|
if(preg_match(’/PageSize/i’, $listitem)) $plist .= $PageSize;
|
|
if(preg_match(’/index/i’, $listitem)) $plist .= $indexpage;
|
|
if(preg_match(’/pre/i’, $listitem)) $plist .= $prepage;
|
|
if(preg_match(’/pageno/i’, $listitem)) $plist .= $listdd;
|
|
if(preg_match(’/next/i’, $listitem)) $plist .= $nextpage;
|
|
if(preg_match(’/end/i’, $listitem)) $plist .= $endpage;
|
|
if(preg_match(’/option/i’, $listitem)) $plist .= $optionlist;
|
|
if(preg_match(’/info/i’, $listitem)) $plist .= $maininfo;
|
然后我们在列表页的调用:
|
文档总数:{dede:pagelist listitem="TotalResult"/}
|
|
分页总数:{dede:pagelist listitem="TotalPage"/}
|
|
分页大小:{dede:pagelist listitem="PageSize"/}
|
|
当前页码:{dede:pagelist listitem="thisPage"/}
|