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

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

admin3年前 (2021-08-15)建站知识563

在一些特殊类型的网站,比如说小说网站的章节板块,或许会用到文章倒序输出这个功能,发布时间越早的前几章排在最前面,按照发布顺序依次排列。在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;
    }}

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

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

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

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

相关文章

Zblog文章列表页摘要调用和摘要字数控制的代码及方法

任何做过网站的站长都知道列表页文章摘要的重要性,既能使网站布局变得充实,也可以让用户提前了解文章的大概内容,再决定是否点击进入,这样带来的流量更加地精准。Zblog建站时,调用摘要的代码是什么?控制摘要字数有什么方法呢?莹莹给大家带来最新笔...

夸克网盘签到给的空间是永久的吗

夸克网盘签到给的空间是永久的吗

因为要保存好多学习资料,莹莹也开通了一个夸克网盘会员,您别说,充值后的体验果然尊贵,不仅下载时不限制告诉流量多少了,而且保存资源也不受每次500个文件的限制,贼爽。而且还发现,每天签到送空间,连续签到7天可翻十倍得1G。那这些签到给的空间是...

zblog提取文章中的三张或四张图片作为缩略图的代码

zblog提取文章中的三张或四张图片作为缩略图的代码

zblog提取文章中的三张或四张图片作为缩略图的代码。{php}$pattern="/<img.*?src=[\'|\"](.*?)[\'|\"].*?[\/]?>/i";...

莹莹的故事铺子更新招牌啦

小伙伴们好,欢迎光临莹莹的故事铺子~在招待了1094位过客er后,老版招牌终于光荣退役啦。很久以前就想着重新更新一下这块牌子啦,毕竟四年内, 无论是我们, 还是Gorkor, 都发生了太多太多的变化,老版招牌也许已经不能再说明如今我们的心境...

zblog调用全站置顶文章的办法

之前莹莹记录过zblog调用某分类置顶文章的代码。可正常的网站,置顶文章是很少的,像莹莹笔记,只有一篇,更别提某一个分类的置顶文章了,因此即便是需要使用调用置顶文章的办法,也是调用全站置顶文章使用的多。我们可以通过GetList函数实现:{...

preg_replace('/[\r\n\s]+/', ''是什么意思(zblog)

在zblog的模板文件中,我们经常看见类似这么一串字符:preg_replace('/[\r\n\s]+/', '',这是什么意思呢?答:去除回车、换行符等空白字符。格式及含义preg_replace&nbs...