帝国cms7.2-utf的内容分页在本页阅读全文。在本页阅读全文,是方便用户体验的一个链接。实现方法我发现有两种:
1.新增页面all来实现:比如网易等。
2、js代码来实现:比如站长之家的 http://www.chinaz.com/web/2015/0403/395954.shtml
其中方法2体验最好,感觉舒服,但是实现对我有点难度。 方法1实现容易,用户体验略差,但是有利于seo。
下面实现了方法1,发出来请大家批判使用。
第一步、在自定义函数文件 /e/class/userfun.php中增加内容分页函数,代码为:
- //返回内容分页
- function hl_ShowTextPage($totalpage,$page,$dolink,$add,$type,$search=""){
- global $fun_r,$public_r;
- if($totalpage==1)
- {
- return '';
- }
- $page_line=$public_r['textpagelistnum'];
- $snum=2;
- //$totalpage=ceil($num/$line);//取得总页数
- $firststr='<a title="Page"> <b>'.$page.'</b>/<b>'.$totalpage.'</b> </a> ';
- //上一页
- if($page<>1)
- {
- $toppage='<a href="'.$dolink.$add[filename].$type.'">'.$fun_r['startpage'].'</a> ';
- $pagepr=$page-1;
- if($pagepr==1)
- {
- $prido=$add[filename].$type;
- }
- else
- {
- $prido=$add[filename].'_'.$pagepr.$type;
- }
- $prepage='<a href="'.$dolink.$prido.'">'.$fun_r['pripage'].'</a>';
- }
- //下一页
- if($page!=$totalpage)
- {
- $pagenex=$page+1;
- $nextpage=' <a href="'.$dolink.$add[filename].'_'.$pagenex.$type.'">'.$fun_r['nextpage'].'</a>';
- $lastpage=' <a href="'.$dolink.$add[filename].'_'.$totalpage.$type.'">'.$fun_r['lastpage'].'</a>';
- }
- $starti=$page-$snum<1?1:$page-$snum;
- $no=0;
- for($i=$starti;$i<=$totalpage&&$no<$page_line;$i++)
- {
- $no++;
- if($page==$i)
- {
- $is_1="<b>";
- $is_2="</b>";
- }
- elseif($i==1)
- {
- $is_1='<a href="'.$dolink.$add[filename].$type.'">';
- $is_2="</a>";
- }
- else
- {
- $is_1='<a href="'.$dolink.$add[filename].'_'.$i.$type.'">';
- $is_2="</a>";
- }
- $returnstr.=' '.$is_1.$i.$is_2;
- }
- $page=$page+1;
- $allpage=' '.'<a href="'.$dolink.$add[filename].'_all'.$type.'#p'.$page.'">在本页阅读全文</a>';
- $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage.$allpage;
- return $returnstr;
- }
第二步 修改 e/class/funcitons.php文件,大约在3536行后增加些代码,其中//begin hl add for all read in myself page.为新增开始,//end hl add为新增结束。
- ...
- WriteFiletext($file,$addlevel.$string);
- }
- //begin hl add for all read in myself page.
- $file=$doclasspath.$newspath.$add[filename].'_all'.$filetype;
- $string=$newstempstr;//模板
- $newstext='';
- for($j=1;$j<=$thispagenum;$j++){
- $newstext=$newstext.'<a name="p'.$j.'"></a>'.$n_r[$j-1];
- }
- //替换变量
- $string=str_replace('[!--'.$pf.'--]',$newstext,$string);
- $string=str_replace('[!--p.title--]',$add[title],$string);
- $string=str_replace('[!--next.page--]','',$string);
- $string=str_replace('[!--page.url--]','',$string);
- $string=str_replace('[!--title.select--]','',$string);
- //写文件
- WriteFiletext($file,$addlevel.$string);
- //end hl add
- }
- else
- {...
第三步,修改帝国后台的系统参数,指定内容分页函数为我们自定义的函数即可。