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 默认模板下,如果我们下载的是第三方的模板,其修改方法都是差不多的,举一反三即可。