当前位置:首页 > 建站知识 > 正文内容

Zblog按文章ID升序排列调用文章列表(实现倒序输出)

admin4年前 (2021-08-15)建站知识868

在一些特殊类型的网站,比如说小说网站的章节板块,或许会用到文章倒序输出这个功能,发布时间越早的前几章排在最前面,按照发布顺序依次排列。在Zblog中如何实现呢?只需要在调用文章列表时,按照文章ID升序排列即可实现,举个简单例子。

{php}
$stime = time();
$ytime = 90*24*60*60;
$ztime = $stime-$ytime;
$order = array('log_ViewNums'=>'DESC');
$where = array(array('=','log_Status','0'),array('>','log_PostTime',$ztime));
$array = $zbp->GetArticleList(array('*'),$where,$order,array(8),'');
{/php}
{foreach $array as $cmslist}
<li><a href="{$cmslist.Url}" title="{$cmslist.Title}">{$cmslist.Title}</a></li>
{/foreach}

以上这段代码的含义是:调用90天内,被查看次数最多(热门)的8篇文章,我们只需要

将log_ViewNums换成log_ID,将DESC换成ASC,即可实现调用文章列表的倒序输出。

什么原理呢?或许您需要先了解一下下面的排序规则代码。

log_PostTime  //按照发布时间
log_UpdateTime  //按照更新时间
log_CommNums  //按照评论数量
log_ViewNums  //按照浏览数量
log_ID  //按照ID
log_CateID  //按照分类ID
log_AuthorID  //按照作者ID

DESC的含义是降序,ASC的含义是升序。

若您不仅是想做单个模块的文章倒序输出,还想做文章列表的倒序输出,或许还会用到以下接口:

DefinePluginFilter('Filter_Plugin_LargeData_Article');

挂接方式为:

Add_Filter_Plugin('Filter_Plugin_LargeData_Article', 'LargeData_Article');

函数体参考:

//分类模板排序function LargeData_Article($select, $w, &$order, $limit, $option, $type){
    global $zbp;
    switch($type){
        case 'category':
        //分类模板标签,此段可删除
        case 'tag':
        //标签模板标签,此段可删除
            $pagebar = $option['pagebar'];
            $sort = GetVars('sort','GET') ? 'ASC' : 'DESC';
            switch($o = GetVars('order','GET')){
                case 'view':
                    $order = array('log_ViewNums' => $sort);
                    break;
                case 'comment':
                    $order = array('log_CommNums' => $sort);
                    break;
                case 'newest':
                default:
                    $order = array('log_PostTime' => $sort);
                    $sort == 'DESC' && $o = null;
                    break;
            }
            if ($o){
                $pagebar->UrlRule->__construct($zbp->option['ZC_CATEGORY_REGEX'] .($zbp->Config('system')->ZC_STATIC_MODE != 'REWRITE' ? '&' : '?'). 'order={%order%}&sort={%sort%}');
                $pagebar->UrlRule->Rules['{%order%}'] = $o;
                $pagebar->UrlRule->Rules['{%sort%}'] = (int)GetVars('sort','GET');
            }
            break;
    }}

扫描二维码推送至手机访问。

版权声明:本文由莹莹笔记发布,如需转载请注明出处。

本文链接:http://ynyn34.com/jzzs/16.html

标签: ZblogPHP学习
分享给朋友:

相关文章

宝塔Linux+nginx环境zblog伪静态配置的两种方法

宝塔Linux+nginx环境zblog伪静态配置的两种方法

使用宝塔面板+zblog建站,服务器环境是nginx,想要配置伪静态需要手工修改文件,方法也有很多种,这里记录两种比较简单的。第一种方法:修改conf文件首先在zblog后台静态管理中心自定义规则,提交确认后,生成rewrite规则代码。复...

zblog教程:作者列表页不显示指定分类文章的方法

有些时候,我们为了隐藏自己的Zblog网站文章,会特意设置某个指定分类的文章在首页不显示,可别人仍然可以通过作者列表页看见您发布的所有文章,如何才能在作者列表页不显示指定分类的文章呢?这篇zblog教程或许对您有帮助。找到当前使用主题目录,...

ZblogPHP网站添加首页滚动公告栏

ZblogPHP网站添加首页滚动公告栏

相信下图这种首页滚动公告栏并不陌生吧?为了展示滚动效果,莹莹特意截图了一个滚动到一半的图片。如何为ZblogPHP网站添加这种首页滚动公告栏呢?1、为首页调用JS文件添加以下滚动代码:// 文字滚动 (function($){$...

zblog教程:主页文章列表中插入广告的方法

若您经常浏览wordpress程序的网站,一定看见过网站主页文章列表中显示广告的情况吧?Zblog网站应该通过什么方法实现呢?1、首先您先需要建立一个模板文件,文件的命名随意,我们这里就以post-gg.php为例。2、在主题模板的temp...

zblog调用一定时间内不同分类随机文章的方法

首先在include文件内添加以下功能函数:function xxmy_GetArticleCategorys($Rows,$CategoryID,$hassubcate){     &n...

zblog文章中有图时显示缩略图,无图时只显示摘要文字的方法

当前的zblog带缩略图主题模板,大都是采用了文章中有图时,提取第一张图片作为缩略图,文章内容中无图时,自定义一张或者几张图片作为默认缩略图的方式。有不少用户希望,无图时只显示摘要文字,通过什么方法实现呢?1、通过IF判断语句识别内容是否有...