让ecshop首页热搜关键词随机出现

2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家

ecshop的搜索关键词功能比较简单,我们想让关键词动态变化,该如何操作? 以下chinab4c提供的ECSHOP教程:

 1、找到 include/lib_main.php(1652)

删除这个里面的代码:
 
if (!empty($GLOBALS['_CFG']['search_keywords']))
    {
        $searchkeywords = explode(',', trim($GLOBALS['_CFG']['search_keywords']));
    }
    else
    {
        $searchkeywords = array();
    }
    $smarty->assign('searchkeywords', $searchkeywords);
2 打开 include/lib_insert.php 在最后加入这个一个函数
 
 
function insert_searchkeywords() {
    if (!empty($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;
}
3 .在你的 模板里面创建一个 search.lbi 的文件
 
{if $searchkeywords}
   {$lang.hot_search} :
   {foreach from=$searchkeywords item=val}
   <a href="search.php?keywords={$val|escape:url}">{$val}</a>
   {/foreach}
   {/if}
4. 大开你模板下面 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'}
其实到这里你可以发现, 其实就是把 page_header.lbi 里面的文件拿到了 search.lbi
 
这样上传代码,然后清楚你的 缓存, 刷新, 试试看看每次看到的热搜关键词是一样的吗?!
(责任编辑:chinab4c)