首先介绍一下这个功能:在搜索框输入关键词的时候,搜索出来的结果会把匹配到的关键词高亮显示,可以精确匹配,也可以模糊匹配。
精确匹配:例如产品名字是“大熊博客定制外贸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加入进去
(责任编辑:好模板) |