Discuz X2.5 中的会员 DIY 模块增加了一个今日帖数排行调用条件

但是在模块代码中开发人员却将今日帖数与总帖数进行了合并显示:
如果模块属性中勾选 【按今日发帖数倒序】 条件时,模块代码中的 {post} 字段默认显示的是今日帖数,如果条件中的会员今日帖数为 0 时则调用总帖数!这样就给我们制作模板时带来了困惑。

所以以下修改方法将会把今日帖数与总帖数字段独立出来进行显示:

打开文件:source/class/lock/member/lock_member.php
查找:

  1. 'posts' =>
    array('name' => lang('blockclass', 'blockclass_member_field_posts'),
    'formtype' => 'text', 'datatype' => 'int'),

下面增加:

  1. 'todayposts' => array('name' => '今日帖数', 'formtype' => 'text', 'datatype' => 'int'),

查找:

  1. 'posts' => empty($todayposts[$data['uid']]) ? $data['posts'] : $todayposts[$data['uid']],

替换为:

  1. 'posts' => $data['posts'],
  2. 'todayposts' => $todayposts[$data['uid']],

最后再去后台更新缓存,勾选 【DIY 模块分类缓存】!

然后再去前台 DIY 模式中查看结果:


当在模块属性中勾选了今日发帖排行条件后,模块模板中的 {todayposts} 变量才会生效!