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

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

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

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

相关文章

Zblogphp调用相关文章的两种方法

用户在阅读Zblogphp网站文章时,没有哪个站长希望他们看完一篇直接关闭网页离开,而是愿意他们能多看几篇,从而降低网站跳出率,提升用户体验的深度。为了达到这种效果,站长们经常会在文章中插入相关文章推荐,可一篇一篇地添加实在太麻烦。这时我们...

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

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

ZblogPHP新版本缩略图调用方法(兼容旧版本)

ZblogPHP1.7新版本缩略图调用方法有了改进,系统可直接对图片进行缩小与裁剪,并生成缓存文件保存至源文件中,大大提高了网站的打开速度和程序的运行效率。以下代码不仅可适应新版本缩略图调用方法,还可兼容旧版本。include文件中,添加以...

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

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

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

宝塔面板上传网站程序后提示:恭喜,站点创建成功

宝塔面板上传网站程序后提示:恭喜,站点创建成功

宝塔面板是当下比较流行的服务器管理软件,莹莹笔记就是使用宝塔面板+Zblog搭建。初次使用,上传过Zblog程序后,访问主页时竟然不显示网站内容,而是提示“恭喜,站点创建成功!这是默认index.html,本页面由系统自动生成”。有个别新手...

zblog1.7自带缩略图调用方法(有图时调用第一张图片无图默认)

zblog1.7版本升级后,缩略图有了新的调用方法,无需经过复杂的PHP判断和处理,一两行代码就可以解决缩略图的调用、裁剪等诸多问题,下面的代码是zblog1.7自带略缩图调用方法,实现的效果为文章内容中有图片时,将第一张图片缩小至指定尺寸...