A-A+
	ecshop首页关键词实现随机显示
不少的 ecshop 模板中都集成了搜索热门关键词的功能,在首页展示其访客进行搜索的关键词,这样做的好处就是增加用户的体验,当访客看到想要搜索的词时,不用再进行二次搜索了,这种功能在淘宝或京东这类大型的站点是较常见的,我们也来看一下 ecshop 中如何实现这样的功能吧,在 ecshop 默认的模板中,在其首页也显示了要搜索的关键词,但关键词是固定的,所以每次打开都是比较死板,所以这里我们要更改为随机显示其关键词。
一,首先打开 include/lib_main.php 文件,找到如下的代码进行删除掉:
- if (!emptyempty($GLOBALS['_CFG']['search_keywords']))
 - {
 - $searchkeywords = explode(',', trim($GLOBALS['_CFG']['search_keywords']));
 - }
 - else
 - {
 - $searchkeywords = array();
 - }
 - $smarty->assign('searchkeywords', $searchkeywords);
 
二,接着打开 include/lib_insert.php 文件,在文件的最下面添加如下的函数:
- function insert_searchkeywords() {
 - if (!emptyempty($GLOBALS['_CFG']['search_keywords']))
 - {
 - $searchkeywords = explode(',', trim($GLOBALS['_CFG']['search_keywords']));
 - $rand = array_rand($searchkeywords,3);//后面的 3 是设置显示的数量
 - for($i=0;$i<3;$i++) {
 - $search[] = $searchkeywords[$rand[$i]];
 - }
 - $searchkeywords = $search;
 - }
 - else
 - {
 - $searchkeywords = array();
 - }
 - $GLOBALS['smarty']->assign('searchkeywords', $searchkeywords);
 - $val = $GLOBALS['smarty']->fetch('library/search.lbi'); //这里要在你的模板里面创建一个search.lbi
 - return $val;
 - }
 
三,打开 /themes/xiariboke/library/ 文件夹,在这个文件夹下面创建一个 search.lbi 的文件,输入如下的内容:
- {if $searchkeywords}
 - {$lang.hot_search} :
 - {foreach from=$searchkeywords item=val}
 - <a href="search.php?keywords={$val|escape:url}">{$val}</a>
 - {/foreach}
 - {/if}
 
四,打开文件“/themes/xiariboke/library/page_header.lbi ”文件,查找如下的代码:
- {if $searchkeywords}
 - {$lang.hot_search} :
 - {foreach from=$searchkeywords item=val}
 - <a href="search.php?keywords={$val|escape:url}">{$val}</a>
 - {/foreach}
 - {/if}
 
将这段代码替换为
- {insert name='searchkeywords'}
 
好了,清理一下后台缓存,再去刷新一下首页,看看每次显示的热门关键词是不是不一样了,这里的操作是在 ecshop 默认模板下,如果我们下载的是第三方的模板,其修改方法都是差不多的,举一反三即可。