首页 / 值得一看 / zblog教程 / 正文

zblog分类页列表实现时间,评论,浏览数排序的方法

2022-05-21zblog教程阅读 615

首先挂载接口

需要在主题核心文件(include.php)中挂载接口

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;
    }}

其次在模板添加代码:

找到主题分类模板(catalog.php)文件,在适当的位置加入排序代码:

<form id="sort-list" class="filter-tag">
    <span class="filter-l"><i class="icon font-paixu"></i>排序</span>
    <li class="filter order">
        <a href="" rel="nofollow" class="{if GetVars('order','GET') == 'newest' || !GetVars('order','GET')}current{/if}" data-type="newest">最新<i class="icon font-chevron-{if GetVars('sort','GET')}up{else}down{/if}"></i></a>
        <a href="" rel="nofollow" class="{if GetVars('order','GET') == 'view'}current{/if}" data-type="view">浏览<i class="icon font-chevron-{if GetVars('sort','GET')}up{else}down{/if}"></i></a>
        <a href="" rel="nofollow" class="{if GetVars('order','GET') == 'comment'}current{/if}" data-type="comment">评论<i class="icon font-chevron-{if GetVars('sort','GET')}up{else}down{/if}"></i></a> 
    </li>
    {if $zbp->Config('system')->ZC_STATIC_MODE != 'REWRITE'}<input type="hidden" name="cate" value="{$category->ID}">{/if}
    <input type="hidden" name="order" value="{GetVars('order','GET')}">
    <input type="hidden" name="sort" value="{php}echo (int)GetVars('sort','GET'){/php}"></form>
添加之后css样式自己修改,图标采用的是阿里图标库,如果您的奥森图标或者其他请自行更改<i class="icon font-paixu"></i>代码,值得注意的是 name="cate" 默认是指分类模板,如果是标签模板页需要修改成 name="tags" 就可以了。

最后添加js代码:

找到主题模板自带的js文件,在最后的位置添加如下代码,如果是放在html里,记得首位加上<script>如下代码</script>
//分类排序!function(f){
  var a=f.find('.order a'),o=f.find('[name=order]'),s=f.find('[name=sort]');
  a.click(function(){
     var v=$(this).data('type');
      if(v===o.val()){
      s.val(s.val().toString()==='1'?0:1);
    }else{
      s.val(''===o.val() && !$(this).index() ? 1 : 0);
      o.val(v);
    }
    f.submit();
    return false;
  })}($('#sort-list'))

效果预览:

zblog分类页列表实现时间,评论,浏览数排序的方法

信息由用户投稿以及用户自行发布,真实性、合法性由发布人负责,涉及到汇款等个人财产或隐私内容时请仔细甄别,注意防骗!如有侵权,请联系:wwwlaoyuwang#126.com(#=@)!我们会第一时间核实处理!

相关推荐

  • 虚拟主机中zblog如何强制全站https

    网站改版升级了https安全访问,可之前搜索引擎收录的全部都是http的链接,如果不做301重定向,别人访问时,进入的依旧不是安全链接。如何把zblogPHP全站http301重定向到https的域名...

    92zblog教程2023-10-01
  • zblogphp使用GetArticleList、GetList函数调用热门文章列表

    一般我们调用ZBLOGPHP文章的时候会用到最新文章、点击数、评论数文章调用,同时我们还可能会在一些特定的位置调用本周、本月、本年度的热门文章。热门文章目录文件:zb_system/funct...

    219zblog教程2023-07-05
  • zblog修改列表分页条首页/上页/下页/末尾符号为文字

    Z-Blog使用{template:pagebar}调用的翻页条是用‹‹、‹、›、››符号分别表示首页、上一篇、下一页和最后一页,如果不想用符号直接显示中文怎么办?可以尝试使用翻页条源代码来修改或者通...

    206zblog教程2023-06-12
  • zblog搜索页面制作教程

    搜索功能是一个网站中必不可少的功能,同样在zblog模板中也支持搜索页面的制作,而zblog中的搜索页面是要用一个单独模板来制作的,下面来进行一下讲解本文讲解是以zblog新版本为例来演示的。首先,先...

    251zblog教程2023-06-11
  • ZblogPHP调用某个分类的随机文章

    随机文章是非常常见的内容模块,有利于提高网站整体的收录。区别于常见的CMS,我发现Zblog并没有表情直接调用随机文章,那么,我们要实现调用某个分类的随机文章,应该怎么实现呢?随机文章从网上看到的随机...

    377zblog教程2023-05-10