Emlog 4.0 评论分页方法之二–折腾ing

       昨天Sogei说我的日记列表的下一页有问题。。我看了一下确实有问题。。地址写错了。。谢谢提醒!~

顺便把分页也改了,不用js的那种了,毕竟js加载也很慢的,也把水墙中的自己也屏蔽了,没头像的也改成无头像图。

分页方法我也公布吧。。(也是奇遇的方法)。。说简单也简单的。。(另一个方法:传送门

需要改内核option.php,和模板echo_log.php ,page.php, module.php这几个文件

一:先改内核文件option.php

打开目录下includeliboption.php 文件,

大概在第65行-第68行位置  

array(
’model’ => ’Log_Controller’,
’method’ => ’displayContent’,
’reg_0’ => ’|^.*/?(post)=(d+)$|’,
’reg_1’ => ’|^.*/(post)-(d+).html$|’,
’reg_2’ => ’|^.*/(post)/(d+)/?$|’,
’reg_3’ => ’|^/([^./?=]+)(.html)?/?$|’,
),

把它改成以下内容

array(
’model’ => ’Log_Controller’,
’method’ => ’displayContent’,
’reg_0’ => ’|^.*/?(post)=(d+)(/board/(d+))?/?$|’,
’reg_1’ => ’|^.*/(post)-(d+).html(/board/(d+))?/?$|’,
’reg_2’ => ’|^.*/(post)/(d+)(/board/(d+))?/?$|’,
’reg_3’ => ’|^/([^./?=]+)(.html)?(/board/(d+))?/?$|’,
),

再改,在大概第115行-第119行位置

array(
’model’ => ’Log_Controller’,
’method’ => ’displayContent’,
’reg_0’ => ’|^.*/([^/.=?]+)(.html)?/?$|’,
),

把它改成以下内容

array(
’model’ => ’Log_Controller’,
’method’ => ’displayContent’,
’reg_0’ => ’|^.*/([^/.=?]+)(.html)?/?$|’,
’reg_1’ => ’|^.*/([^/.=?]+)(.html)?/(board)/(d+)?/?$|’,
),

你可以下载下面现成的!~~

二:改模板了(需要要的echo_log.php module.php page.php三个文件)

1、先简单的开始吧

先修改 echo_log.php 文件

在大概第21行的位置

<?php blog_comments($comments); ?>

把它改成以下内容其实就是加个($logid和$params)

<?php blog_comments($logid,$comments,$params); ?>

ok,echo_log.php 文件修改好了

2.修改 page.php 文件

在大概 第12行(默认模板,其他模板,你查找blog_comments)

<?php blog_comments($comments); ?>

把它改成以下内容

<?php blog_comments($logid,$comments,$params); ?>

3、这个改的比较多了 module.php 文件

默认模板在大概第286行(其他模板,你查找function blog_comments($comments){)

function blog_comments($comments){

把它改成以下内容

function blog_comments($logid,$comments,$params){

在修改大概第291行-第293行

$isGravatar = Option::get(’isgravatar’);
foreach($comments as $key=>$comment):
if($comment[’pid’] != 0) continue;

把它改成以下内容

$once = 10 ;   //设置多少条评论起开始分页
$commentStack = array();
foreach($comments as $key=>$comment) if($comment[’pid’] == 0) $commentStack[] = $key;
$comnum = count($commentStack);
$page = isset($params[4]) ? intval($params[4]) : 1;
$commentStack = array_slice($commentStack,($page-1)*$once,$once,true);
$isGravatar = Option::get(’isgravatar’);
foreach($commentStack as $cid):
$comment = $comments[$cid];

最后就是添加显示,往下拉,就会看到,默认模板的是大概第321行

<?php endforeach; ?>

在它下面添加以下内容

<?php if(pagination($comnum,$once,$page,Url::log($logid).’/board’)) { ?>
 <?php echo pagination($comnum,$once,$page,Url::log($logid).’/board’); ?>
<?php } ?>  

注意:

    以上修改方法是针对 4.0.1 版本的,如果使用的其他模板请对照相应项目修改。其中board可以改成你自己想要的名称,但然不能跟其它的冲突。。


您可以选择一种方式赞助本站

目前评论:39   其中:访客  20   博主  19

  1. 2010年10月01日 15:39  29楼
  2. 2010年10月01日 10:31  30楼
  3. 2010年10月01日 15:13  31楼
  4. 2010年10月01日 11:26  32楼
  5. 2010年10月01日 15:23  33楼
  6. 2010年10月01日 17:23  34楼
  7. 2010年10月01日 16:17  35楼
  8. 2010年10月01日 11:49  36楼
  9. 2010年10月01日 13:33  37楼
  10. 2010年10月01日 17:25  38楼
  11. 2010年10月01日 17:16  39楼
评论加载中...

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: