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

大谋儿 知识探索 1817 0

挂载接口 Filter_Plugin_LargeData_Article

function LargeData_Article($select, $w, &$order, $limit, $option, $type){
    global $zbp;
    
    switch($type){
        case 'category':
            
            $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;
    }
}

模板代码:

<form id="kf-order">
<div class="filter order">
    <a href="" rel="nofollow" class="{if GetVars('order','GET') == 'newest' || !GetVars('order','GET')}active{/if}" data-type="newest">最新<i class="icon icon-arrow-{if GetVars('sort','GET')}up{else}down{/if}"></i></a>
    <a href="" rel="nofollow" class="{if GetVars('order','GET') == 'view'}active{/if}" data-type="view">浏览<i class="icon icon-arrow-{if GetVars('sort','GET')}up{else}down{/if}"></i></a>
    <a href="" rel="nofollow" class="{if GetVars('order','GET') == 'comment'}active{/if}" data-type="comment">评论<i class="icon icon-arrow-{if GetVars('sort','GET')}up{else}down{/if}"></i></a> 
</div>
{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>

js代码:

!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;
  })
}($('#kf-order'))

202012161608082945368981.gif zblog分类页列表实现时间,评论,浏览数排序的方法 知识探索

正文结束

相关文章

下面的例子是导出网站用户1的所有文章名,每次取出100个文章set_time_limit(0); //封装好的函数 function GetAllData($method, $w, 

zblog调取大量数据内存不溢出的方法

//文章顶部与底部添加通用代码//挂接口:Add_Filter_Plugin('Filter_Plugin_ViewPost_Template','zbpPlus_SingleCode')

zblogPHP 文章顶部与底部添加通用代码

function readers(){     global $zbp;     $limit =&nbs

zblog读者墙数据调用php代码

评论列表

暂时还没有人评论哦,来占个沙发吧?

发表评论