今天测试网站的时候,群里也有要求怎么能够统计每页文章显示的总数,不用插件也不想插件。

正好小秋测试网站的时候也刚需就顺手测试下。


不过此方法是利用分页标签来实现的{eyou:pagelist listitem='index,pre,pageno,next,end' listsize='2' /}


虽然有点取巧,但是也能有一定的效果。只是希望官方能够出一个这个标签。


话说这么多可能大家,还不明白是怎么样的效果 先看截图:


image.png


有人问 可以用栏目统计标签不就可以了?是的 但是栏目标签只适合栏目下面的页面。对于TAGS标签页 搜索页等 是无法统计的。所以这个方法适合所有的页面 的条数结果。



具体方法详细介绍如下:


在后台多语言设置里面,新建一个多语言字段:


image.png


image.png

变量名 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' /}


再到多语言设置里面 官方

image.png

按截图 将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:

记得缓存。

如果不生效 打开数据库

image.png

按照上面的修改

表格是:ey_language_pack