600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > zblog php搜索页面 Z-Blog PHP实现搜索分页

zblog php搜索页面 Z-Blog PHP实现搜索分页

时间:2020-10-12 17:03:55

相关推荐

zblog php搜索页面 Z-Blog PHP实现搜索分页

Z-BLOG PHP版本默认搜索是无法分页的,APP中心有一个Search Plus插件,此插件可以优化搜索界面,但是同样不能分页。但是我们可以修改一下这个插件。

找到插件的40行左右,将查询语句变为:$pagebar=newPagebar('{%host%}search.php?{q='.$q.'}&{page=%page%}',false);

$pagebar->PageCount=$zbp->displaycount;

$pagebar->PageNow=(int)GetVars('page','GET')==0?1:(int)GetVars('page','GET');

$pagebar->PageBarCount=$zbp->pagebarcount;

$articles=$zbp->GetArticleList(

'*',

$w,

array('log_PostTime'=>'DESC'),array(($pagebar->PageNow-1)*$pagebar->PageCount,$pagebar->PageCount),

array('pagebar'=>$pagebar),

null

);

找到插件的70行左右修改为:$zbp->template->SetTags('pagebar',$pagebar);

最后附上我修改后的文件,我还修改了其他的一些小bug,直接替换原插件的include.php即可。<?php

requiredirname(__FILE__).DIRECTORY_SEPARATOR.'function'.DIRECTORY_SEPARATOR.'searchstr.php';

#注册插件

RegisterPlugin("SearchPlus","ActivePlugin_SearchPlus");

functionActivePlugin_SearchPlus(){

Add_Filter_Plugin('Filter_Plugin_Search_Begin','SearchPlus_Main');

}

functionSearchPlus_Main(){

global$zbp;

foreach($GLOBALS['Filter_Plugin_ViewSearch_Begin']as$fpname=>&$fpsignal){

$fpreturn=$fpname();

if($fpsignal==PLUGIN_EXITSIGNAL_RETURN){

$fpsignal=PLUGIN_EXITSIGNAL_NONE;return$fpreturn;

}

}

if(!$zbp->CheckRights($GLOBALS['action'])){Redirect('./');}

$q=trim(htmlspecialchars(GetVars('q','GET')));

$qc=''.$q.'';

$articles=array();

$category=newMetas;

$author=newMetas;

$tag=newMetas;

//$type='post-search';

$zbp->title=$zbp->lang['msg']['search'].'"'.$q.'"';

$template=$zbp->option['ZC_INDEX_DEFAULT_TEMPLATE'];

if(isset($zbp->templates['search'])){

$template='search';

}

$w=array();

$w[]=array('=','log_Type','0');

if($q){

$w[]=array('search','log_Content','log_Intro','log_Title',$q);

}else{

Redirect('./');

}

if(!($zbp->CheckRights('ArticleAll')&&$zbp->CheckRights('PageAll'))){

$w[]=array('=','log_Status',0);

}

$pagebar=newPagebar('{%host%}search.php?{q='.$q.'}&{page=%page%}',false);

$pagebar->PageCount=$zbp->displaycount;

$pagebar->PageNow=(int)GetVars('page','GET')==0?1:(int)GetVars('page','GET');

$pagebar->PageBarCount=$zbp->pagebarcount;

$articles=$zbp->GetArticleList(

'*',

$w,

array('log_PostTime'=>'DESC'),array(($pagebar->PageNow-1)*$pagebar->PageCount,$pagebar->PageCount),

array('pagebar'=>$pagebar),

null

);

foreach($articlesas$article){

$intro=preg_replace('/[\r\n\s]+/','',trim(SubStrStartUTF8(TransferHTML($article->Content,'[nohtml]'),$q,170)).'...');

$article->Intro=str_ireplace($q,$qc,$intro);

$article->Title=str_ireplace($q,$qc,$article->Title);

}

$zbp->header.=''."\r\n";

$zbp->template->SetTags('title',$zbp->title);

$zbp->template->SetTags('articles',$articles);

//$zbp->template->SetTags('type',$type);

$zbp->template->SetTags('page',1);

$zbp->template->SetTags('pagebar',$pagebar);

if(isset($zbp->templates['search'])){

$zbp->template->SetTemplate($template);

}else{

$zbp->template->SetTemplate('index');

}

foreach($GLOBALS['Filter_Plugin_ViewList_Template']as$fpname=>&$fpsignal){

$fpreturn=$fpname($zbp->template);

}

$zbp->template->Display();

RunTime();

die();

}

functionInstallPlugin_SearchPlus(){

global$zbp;

}

functionUninstallPlugin_SearchPlus(){

global$zbp;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。