zblog php搜索页面,Z-Blog PHP实现搜索分页
Z-BLOG PHP版本默認搜索是無法分頁的,APP中心有一個Search Plus插件,此插件可以優化搜索界面,但是同樣不能分頁。但是我們可以修改一下這個插件。
找到插件的40行左右,將查詢語句變為:$pagebar=new?Pagebar('{%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
require?dirname(__FILE__)?.?DIRECTORY_SEPARATOR?.?'function'?.?DIRECTORY_SEPARATOR?.?'searchstr.php';
#注冊插件
RegisterPlugin("SearchPlus","ActivePlugin_SearchPlus");
function?ActivePlugin_SearchPlus()?{
Add_Filter_Plugin('Filter_Plugin_Search_Begin','SearchPlus_Main');
}
function?SearchPlus_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?=?new?Metas;
$author?=?new?Metas;
$tag?=?new?Metas;
//????$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=new?Pagebar('{%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($articles?as?$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();
}
function?InstallPlugin_SearchPlus()?{
global?$zbp;
}
function?UninstallPlugin_SearchPlus()?{
global?$zbp;
}
總結
以上是生活随笔為你收集整理的zblog php搜索页面,Z-Blog PHP实现搜索分页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php mysql生成excel文件,P
- 下一篇: php表单服务器验证失败,php 表单验