最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > ZenCart > ZenCart教程 >

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

时间:2014-06-15 22:41来源:未知 作者:最模板zuimoban 点击:
首先介绍一下这个功能: 在搜索框输入关键词的时候,搜索出来的结果会把匹配到的关键词高亮显示,可以精确匹配,也可以模糊匹配 。 精确匹配 :例如产品名字是大熊博客定制外贸

首先介绍一下这个功能:在搜索框输入关键词的时候,搜索出来的结果会把匹配到的关键词高亮显示,可以精确匹配,也可以模糊匹配

精确匹配:例如产品名字是“大熊博客定制外贸zencart模板”,搜过关键词是“zencart模板”,就可以搜索到这个产品,如果关键词是“外贸模板“则不能搜索到这个产品。

模糊匹配(分段匹配):上面例子中通过搜索关键词“zencart模板”可以搜索产品,搜索“外贸模板”、“外贸模板”、“大熊zencart模板”都是可以搜索到这个产品的。

安装详解:

1,在文件inlcudes/functions/functions_general.php 中加入以下函数:

 

 
  1. function highLight($str$keywords$color = "red") {   
  2.     if (empty($keywords)) {   
  3.         return $str;   
  4.     }   
  5.     $keywords = split("[ \t\r\n,]+"$keywords);   
  6.     foreach($keywords as $val) {   
  7.         $tvar = preg_quote($val);   
  8.         $tvar = str_ireplace('/', '\/', $tvar);   
  9.         $patterns[]    = "/(" . $tvar . ")/i";   
  10.         $replacement[] = urlencode($val;   
  11.         $tvar = preg_quote(urlencode($val));   
  12.         $tvar = str_ireplace('/', '\/', $tvar);   
  13.         $tmppattern[]  = "/("  . $tvar .  ")/i";   
  14.         $finalrep[]    = "<strong style='color:" . $color . "'>" . $val . "</strong>";   
  15.     }   
  16.     $str = preg_replace($patterns$replacement$str);   
  17.     $str = preg_replace($tmppattern$finalrep$str);   
  18.     return $str;   
  19. }  

 

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加入进去

(责任编辑:最模板)
------分隔线----------------------------
栏目列表
推荐内容