A-A+

ecshop首页关键词实现随机显示

2015年12月31日 PHP开源系统 暂无评论 阅读 7 views 次

不少的 ecshop 模板中都集成了搜索热门关键词的功能,在首页展示其访客进行搜索的关键词,这样做的好处就是增加用户的体验,当访客看到想要搜索的词时,不用再进行二次搜索了,这种功能在淘宝或京东这类大型的站点是较常见的,我们也来看一下 ecshop 中如何实现这样的功能吧,在 ecshop 默认的模板中,在其首页也显示了要搜索的关键词,但关键词是固定的,所以每次打开都是比较死板,所以这里我们要更改为随机显示其关键词。

一,首先打开 include/lib_main.php 文件,找到如下的代码进行删除掉:

  1. if (!emptyempty($GLOBALS['_CFG']['search_keywords']))  
  2.     {  
  3.         $searchkeywords = explode(',', trim($GLOBALS['_CFG']['search_keywords']));  
  4.     }  
  5.     else  
  6.     {  
  7.         $searchkeywords = array();  
  8.     }  
  9.     $smarty->assign('searchkeywords', $searchkeywords);  

二,接着打开 include/lib_insert.php 文件,在文件的最下面添加如下的函数:

  1. function insert_searchkeywords() {  
  2.     if (!emptyempty($GLOBALS['_CFG']['search_keywords']))  
  3.     {  
  4.         $searchkeywords = explode(',', trim($GLOBALS['_CFG']['search_keywords']));  
  5.         $rand = array_rand($searchkeywords,3);//后面的 3 是设置显示的数量  
  6.         for($i=0;$i<3;$i++) {  
  7.             $search[] = $searchkeywords[$rand[$i]];  
  8.         }  
  9.         $searchkeywords = $search;  
  10.     }  
  11.     else  
  12.     {  
  13.         $searchkeywords = array();  
  14.     }  
  15.     $GLOBALS['smarty']->assign('searchkeywords', $searchkeywords);  
  16.     $val = $GLOBALS['smarty']->fetch('library/search.lbi');  //这里要在你的模板里面创建一个search.lbi  
  17.     return $val;  
  18. }  

三,打开 /themes/xiariboke/library/ 文件夹,在这个文件夹下面创建一个 search.lbi 的文件,输入如下的内容:

  1. {if $searchkeywords}  
  2.    {$lang.hot_search} :  
  3.    {foreach from=$searchkeywords item=val}  
  4.    <a href="search.php?keywords={$val|escape:url}">{$val}</a>  
  5.    {/foreach}  
  6.    {/if}  

四,打开文件“/themes/xiariboke/library/page_header.lbi ”文件,查找如下的代码:

  1. {if $searchkeywords}  
  2.    {$lang.hot_search} :  
  3.    {foreach from=$searchkeywords item=val}  
  4.    <a href="search.php?keywords={$val|escape:url}">{$val}</a>  
  5.    {/foreach}  
  6.    {/if}  

将这段代码替换为

  1. {insert name='searchkeywords'}  

好了,清理一下后台缓存,再去刷新一下首页,看看每次显示的热门关键词是不是不一样了,这里的操作是在 ecshop 默认模板下,如果我们下载的是第三方的模板,其修改方法都是差不多的,举一反三即可。

标签:

给我留言