Discuz X2.5 中的会员 DIY 模块增加了一个今日帖数排行调用条件
但是在模块代码中开发人员却将今日帖数与总帖数进行了合并显示:
如果模块属性中勾选 【按今日发帖数倒序】 条件时,模块代码中的 {post} 字段默认显示的是今日帖数,如果条件中的会员今日帖数为 0 时则调用总帖数!这样就给我们制作模板时带来了困惑。
所以以下修改方法将会把今日帖数与总帖数字段独立出来进行显示:
打开文件:source/class/lock/member/lock_member.php
查找:
- 'posts' =>
array('name' => lang('blockclass', 'blockclass_member_field_posts'),
'formtype' => 'text', 'datatype' => 'int'),
下面增加:
- 'todayposts' => array('name' => '今日帖数', 'formtype' => 'text', 'datatype' => 'int'),
查找:
- 'posts' => empty($todayposts[$data['uid']]) ? $data['posts'] : $todayposts[$data['uid']],
替换为:
- 'posts' => $data['posts'],
- 'todayposts' => $todayposts[$data['uid']],
最后再去后台更新缓存,勾选 【DIY 模块分类缓存】!
然后再去前台 DIY 模式中查看结果:
当在模块属性中勾选了今日发帖排行条件后,模块模板中的 {todayposts} 变量才会生效!