易优利用分页数标签来统计每页的显示数量统计数(临时-有缺陷)
今天测试网站的时候,群里也有要求怎么能够统计每页文章显示的总数,不用插件也不想插件。
正好小秋测试网站的时候也刚需就顺手测试下。
不过此方法是利用分页标签来实现的{eyou:pagelist listitem='index,pre,pageno,next,end' listsize='2' /}
虽然有点取巧,但是也能有一定的效果。只是希望官方能够出一个这个标签。
话说这么多可能大家,还不明白是怎么样的效果 先看截图:
有人问 可以用栏目统计标签不就可以了?是的 但是栏目标签只适合栏目下面的页面。对于TAGS标签页 搜索页等 是无法统计的。所以这个方法适合所有的页面 的条数结果。
具体方法详细介绍如下:
在后台多语言设置里面,新建一个多语言字段:
变量名 sys13 ,内容填写:共%s条 (sys13是变量名你也可以随意改,但在eyou.php里面也要对应)
打开:\core\library\think\paginator\driver\Eyou.php文件 此文件修改一般不会覆盖 也是分页风格所需修改的文件。
/**
* 共N页 N条
* @param string $text
* @return string
*/
protected function getTotalResult()
{
return sprintf(
lang('sys5'),
$this->lastPage,
$this->total
);
}
下面新增:
protected function getNexttjinfo()
{
return sprintf(
lang('sys13'),
// $this->lastPage,
$this->total
);
}
在:
if (in_array('next', $listitemArr)) {
array_push($pageArr, $this->getNextButton(lang('sys3')));
}
以上代码下面新增:
if (in_array('tjinfo', $listitemArr)) {
array_push($pageArr, $this->getNexttjinfo(lang('sys13')));
}
即可。
保存
然后 在模板里面应用标签如下:
{eyou:list titlelen='60' pagesize='1'}{/eyou:list}{eyou:pagelist listitem='tjinfo' listsize='2' /}
再到多语言设置里面 官方
按截图 将SYS5里面的值 修改成:
共<strong>%s</strong>条
即可!
再打开eyou.php文件 查找刚才的
/**
* 共N页 N条
* @param string $text
* @return string
*/
protected function getTotalResult()
{
return sprintf(
lang('sys5'),
$this->lastPage,
$this->total
);
}
将修改成
/**
* 共N页 N条
* @param string $text
* @return string
*/
protected function getTotalResult()
{
return sprintf(
lang('sys5'),
// $this->lastPage,
$this->total
);
}
完毕!
PS:
记得缓存。
如果不生效 打开数据库
按照上面的修改
表格是:ey_language_pack
手机端logo:/uploads/allimg/20190604/f6d6bb5265ae3bca241d886df3ff6203.png