西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > zencart教程 >

Zencart搜索结果关键词高亮显示

时间:2016-05-12 09:58来源: 作者: 点击:
首先介绍一下这个功能:在搜索框输入关键词的时候,搜索出来的结果会把匹配到的关键词高亮显示,可以精确匹配,也可以模糊匹配。 精确匹配:例如产品名字是大熊博客定制外贸
首先介绍一下这个功能:在搜索框输入关键词的时候,搜索出来的结果会把匹配到的关键词高亮显示,可以精确匹配,也可以模糊匹配。
 
精确匹配:例如产品名字是“大熊博客定制外贸zencart模板”,搜过关键词是“zencart模板”,就可以搜索到这个产品,如果关键词是““则不能搜索到这个产品。
 
模糊匹配(分段匹配):上面例子中通过搜索关键词“zencart模板”可以搜索产品,搜索“外贸模板”、“外贸模板”、“大熊zencart模板”都是可以搜索到这个产品的。
 
安装详解:
 
1,在文件inlcudes/functions/functions_general.php 中加入以下函数:
 
 
 
 
function highLight($str, $keywords, $color = "red") {   
    if (empty($keywords)) {   
        return $str;   
    }   
    $keywords = split("[ \t\r\n,]+", $keywords);   
    foreach($keywords as $val) {   
        $tvar = preg_quote($val);   
        $tvar = str_ireplace('/', '\/', $tvar);   
        $patterns[]    = "/(" . $tvar . ")/i";   
        $replacement[] = urlencode($val) ;   
        $tvar = preg_quote(urlencode($val));   
        $tvar = str_ireplace('/', '\/', $tvar);   
        $tmppattern[]  = "/("  . $tvar .  ")/i";   
        $finalrep[]    = "<strong style='color:" . $color . "'>" . $val . "</strong>";   
    }   
    $str = preg_replace($patterns, $replacement, $str);   
    $str = preg_replace($tmppattern, $finalrep, $str);   
    return $str;   
}  
 
 
2,打开includes/modules/您的模板/product_listing.php 找到case 'PRODUCT_LIST_NAME':下的两项
 
$listing->fields['products_name']    替换成:
 
highLight($listing->fields['products_name'],$_GET['keyword'])
 
3,缩短搜索页面url的长度
 
打开文件:
 
includes\templates\template_default\sideboxes\tpl_search.php
 
includes\templates\template_default\sideboxes\tpl_search_header.php
 
注释掉:$content .= zen_draw_hidden_field('search_in_description', '1') . zen_hide_session_id();
 
4,打开后台Configuration --- SEO URLS 在‘输入需要优化的页面’ 将advanced_search_result加入进去
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容