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

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

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

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

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

相关文章

zblog提取文章内容中的多张图片作为缩略图方法

zblog提取文章内容中的多张图片作为缩略图方法

之前只知道可以提取文章内容中的一张图片作为缩略图,没想到还有这么牛的方法,竟然可以调用多张图片作为缩略图,有多少张图片就可以显示多少张,简直太腻害了。{php} $pattern="/<[img|IMG].*?src=[\...

Zblog调用指定分类下文章(有图时显示缩略图,无图显示默认图片)

Zblog调用指定分类及其子分类下最新文章的代码:{foreach GetList(文章篇数,调用分类的ID,null,null,null,null,array('has_subcate' =>&n...

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

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

zblog怎么调用标签教程(热门/随机/最新)

正常情况下标签列表位于zblog后台模块管理中,当想要调用显示出来的时候,直接把该模块拖拽至指定侧栏即可。可如果我们想在侧栏以外的页面调用,或者想改变标签的排序,使其按照热门/随机/最新标签的方式进行排序,又该如何设置呢?方法一:inclu...

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

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

zblog调用指定分类包含子分类文章列表的代码

在制作ZblogCMS模板时,经常会用到调用指定分类包含子分类文章列表的代码,特意整理记录,防止以后想用的时候找不到。{php} $str=''; $cate=1; $array=Getlist(7,$cate,nul...