zblog搜索页面美化和搜索结果分页的教程
发布:smiling 来源: PHP粉丝网 添加日期:2015-12-07 15:14:55 浏览: 评论:0
本文章来为各位介绍一篇zblog搜索页面美化和搜索结果分页的教程了,这个是php版本的各位如果使用的是这个版本可以进来参考一下。
zblog php的搜索结果页面调用的是单页面,不能自定义,不能分页,丑且不人性化。Search Plus插件可以优化搜索结果页面,支持调用index模板和预留的search模板(前提是主题有),支持搜索词高亮显示,最重要的是列表可以自定义了。
zblog php搜索页面美化和搜索结果分页
插件安装:
在应用中心搜索Search Plus直接安装。
修改插件:
1、该插件默认只是优化了搜索界面,但是还不能分页,搜索结果分页还需要修改这个插件.
2、编辑zb_users/plugin/SearchPlus/下的include.php文件,找到插件的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;
 - //phpfensi.com
 - $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);
懒得找代码的,直接把下面的代码,覆盖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 = '<b style=\'color:red\'>' . $q . '</b>';
 - $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 .= '<meta name="robots" content="noindex,follow" />' . "\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;
 - }
 - ?>
 
Tags: zblog搜索结果 zblog分页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
 - PHP新手上路(一)(7)
 - 惹恼程序员的十件事(5)
 - PHP邮件发送例子,已测试成功(5)
 - 致初学者:PHP比ASP优秀的七个理由(4)
 - PHP会被淘汰吗?(4)
 - PHP新手上路(四)(4)
 - 如何去学习PHP?(2)
 - 简单入门级php分页代码(2)
 - php中邮箱email 电话等格式的验证(2)
 
