zblog搜索页面美化和搜索结果分页的教程

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;
 
    $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'] . ' &quot;' . $q . '&quot;';
 
    $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;
 
}

时间: 2024-08-01 19:11:48

zblog搜索页面美化和搜索结果分页的教程的相关文章

谷歌在官方博客中宣布将推出新版搜索页面

谷歌当地时间周二在官方博客中宣布将推出新版搜索页面,在新版搜索页面中,谷歌将原来左上方导航栏移至了搜索页面顶端.搜索结果的显示空间被扩大. 据国外媒体报道,谷歌当地时间周二在官方博客中宣布将推出新版搜索页面,在新版搜索页面中,谷歌将原来左上方导航栏移至了搜索页面顶端. 据悉,新版本的搜索页面将使用户获得更简洁的搜索体验.在我们的测试过程中,我们发现在部分搜索界面页面中竟然没有广告内容出现,不过谷歌随后便打消了我们的"疑虑".谷歌表示"广告显示位置在新版本中将保持不变.&quo

谷歌搜索页面改版 搜索结果显示空间扩大

摘要: 谷歌当地时间周二在官方博客中宣布将推出新版搜索页面,在新版搜索页面中,谷歌将原来左上方导航栏移至了搜索页面顶端.搜索结果的显示空间被扩大. 谷歌(微博)页面改版 据国外 谷歌当地时间周二在官方博客中宣布将推出新版搜索页面,在新版搜索页面中,谷歌将原来左上方导航栏移至了搜索页面顶端.搜索结果的显示空间被扩大. 谷歌(微博)页面改版 据国外媒体报道,谷歌当地时间周二在官方博客中宣布将推出新版搜索页面,在新版搜索页面中,谷歌将原来左上方导航栏移至了搜索页面顶端. 据悉,新版本的搜索页面将使用户

GIS(七)——js版搜狗地图搜索功能美化版

       在前2篇文章中介绍了关键字搜索和周边搜索的功能,但是界面比较简陋,所以这一版我主要做一些美化工作.        这次主要优化的方面有2个方面,一个是页面的样式,包括字体.按钮.布局等:二是要添加一个搜索的智能提示.        首先修改页面的样式,更改 #map{position:absolute;width:1364px; height:550px;} #option{ height:50px; width:1336px; border:solid 1px #CCCCCC;

百度联盟标签云广告由商家聚合页转变为竞价搜索页面

中介交易 SEO诊断 淘宝客 云主机 技术大厅 对于很多草根站长而言,我们的收入来源主要就是广告,为什么?因为我们这样的草根做的网站规模本来就比较小,而且就算我们有独到的运营思路也很难有渠道做一些商业化的东西.同时正是因为我们规模比较小,因此我们网站投放的广告也很少有那种商家直投的,而是通过所谓的广告联盟作为中介来投放广告的. 在国内草根站长中间,最被大家认可的还是两大互联网巨头的广告联盟产品,也就是全球最大搜索引擎谷歌旗下的谷歌联盟以及国内最大搜索引擎百度旗下的百度联盟.前者通常被很多草根站长

java web-淘宝搜索功能,用户在输入框输入关键字后,系统自动根据关键字进入搜索页面后会再次生成筛选条件

问题描述 淘宝搜索功能,用户在输入框输入关键字后,系统自动根据关键字进入搜索页面后会再次生成筛选条件 页面如何根据搜索条件 再次显示相关物品的筛选条件 供用户进行选择 是如何实现的 求原理 最近自己在做一个网上商城项目 需要效果和淘宝,京东等差不多. 解决方案 在不同的类别中搜索,那这些类别中的筛选条件汇总 解决方案二: 页面如何根据搜索条件 再次显示相关物品的筛选条件 供用户进行选择 是如何实现的 求原理 最近自己在做一个网上商城项目 需要效果和淘宝,京东等差不多. 说白了,就是组合条件查询,

消息称雅虎正在测试新版搜索页面(图)

消息称雅虎正在测试新版搜索页面 北京时间8月3日早间消息,据国外媒体今日报道,雅虎正在针对小范围用户测试新版搜索页面. 一张发布在图片分享网站Flickr上的截图显示,雅虎新版搜索页面的布局与日前刚刚发布的雅虎新版主页非常类似.在旧版雅虎搜索页面中,雅虎图标为红色,被显示在页面的右侧.而新版页面中,雅虎图标则改为紫色,并被放到了左侧.搜索记事本工具SearchPad也从右侧移到了左侧.除此之外,新版页面还模仿了微软必应(Bing)的布局方式,在页面左侧设计了一个"相关搜索"栏. 目前,

淘宝网低调内测独立搜索页面布局搜索市场

10月10日上午消息,据消息人士透露,淘宝网正低调测试独立搜索页面search.taobao.com,目前该页面仅在部分地区可以访问.这是淘宝网屏蔽百度搜索后的重要举措之一,业内人士认为淘宝网将通过此举提升收入.抢占用户市场. 据内部人士透露,淘宝网独立搜索引擎项目早在一年前就开始研发,并且招募大量人才.目前该独立搜索页面仅在杭州等部分地区可以访问,淘宝网内部人士称该页面依然处于内测阶段,有望在今年底正式推出. 此次淘宝网独立搜索页面采用类似谷歌百度的简洁风格,根据淘宝网用户测试结果,目前该搜索

源代码- java web 项目中,如何实现显示的页面带关键字搜索功能

问题描述 java web 项目中,如何实现显示的页面带关键字搜索功能 我有一个关键字表 表结构如下 Id ID 关键字 Keywords 链接 Link 优先级 priority 0 默认 1初级 2中级 3高级 匹配次数 mateCount 0全文匹配 1只为第一个出现的关键字匹配 里面的数据格式为 ID Keywords Link priority mateCount 1 龙投网 http://www.lootou.cn 3 0 2 股票入门 http://www.lootou.cn/gu

html搜索-首页静态页面中有个搜索功能如何实现

问题描述 首页静态页面中有个搜索功能如何实现 首页静态页面中有个搜索功能,如何实现在输入关键字是,跳转到相匹配的静态页面,不经过数据库,纯前台的怎么做,求大神指教 解决方案 如果你的页面不多的话,可以将它定义在字符串数组中,然后当在搜素框中点击搜素时,将搜素框中的文本内容获取最后到这个字符串中匹配就可以了;如果匹配上 了,你就写一个url然后在url结尾添加上这个页面就可以了;然后跳转.这个用javascript来实现的.你可以看着javascript文档来做的.