ecshop二次开发--热词搜索且显示

1.进入upload->themes->degault->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}

2把搜索到的代码替换为一下代码

         {$lang.hot_search} :

    {if $searchkeywords}

        {foreach from=$searchkeywords item=val}

            <a href="search.php?keywords={$val|escape:url}">{$val}</a>

        {/foreach}

{/if}

// 数据库ecs_keywords 表中的数据

         {if $searchengine}

                   {foreach from=$searchengine item=val}

                            {foreach from=$val key=key item=v}

                                     <a href="search.php?keywords={$key|escape:url}">{$key}</a>

                            {/foreach}

                   {/foreach}

         {/if}

3.进入upload->admin->searchengie_stats.php复制一下代码

    /* 时间参数 */
    /* TODO: 时间需要改 */
    if (isset($_POST) && !empty($_POST))
    {
        $start_date = $_POST['start_date'];
        $end_date   = $_POST['end_date'];
    }
    else
    {
        $start_date = local_date('Y-m-d', strtotime('-1 week'));
        $end_date   = local_date('Y-m-d');
    }
    /* ------------------------------------- */
    /* --综合流量
    /* ------------------------------------- */
    $max = 0;
    $general_xml = "<chart caption='$_LANG[tab_keywords]' shownames='1' showvalues='0' decimals='0' numberPrefix='' outCnvBaseFontSize='12' baseFontSize='12'>";
    $sql = "SELECT keyword, count, searchengine ".
            " FROM " .$ecs->table('keywords').
            " WHERE date >= '$start_date' AND date <= '" .$end_date. "'";
    if (isset($_POST['filter']))
    {
        $sql .= ' AND '. db_create_in($_POST['filter'], 'searchengine');
    }
    $res = $db->query($sql);
    $search = array();
    $searchengine = array();
    $keyword = array();

    while ($val = $db->fetchRow($res))
    {
        $keyword[$val['keyword']] = 1;
        $searchengine[$val['searchengine']][$val['keyword']] = $val['count'];
    }

4.将你复制到的代码放入到upload->includes->lib_main.php后找到assign_template方法后,将你复制到的代码放到assign_template后

注意:第四步是我已经将第三部代码所整合在一起了,所以在这里第三部你可以省下不用写。

以下代码是我将我所复制的代码放到assign_template方法后的效果

function assign_template($ctype = '', $catlist = array())
{
    global $smarty;

    $smarty->assign('image_width',   $GLOBALS['_CFG']['image_width']);
    $smarty->assign('image_height',  $GLOBALS['_CFG']['image_height']);
    $smarty->assign('points_name',   $GLOBALS['_CFG']['integral_name']);
    $smarty->assign('qq',            explode(',', $GLOBALS['_CFG']['qq']));
    $smarty->assign('ww',            explode(',', $GLOBALS['_CFG']['ww']));
    $smarty->assign('ym',            explode(',', $GLOBALS['_CFG']['ym']));
    $smarty->assign('msn',           explode(',', $GLOBALS['_CFG']['msn']));
    $smarty->assign('skype',         explode(',', $GLOBALS['_CFG']['skype']));
    $smarty->assign('stats_code',    $GLOBALS['_CFG']['stats_code']);
    $smarty->assign('copyright',     sprintf($GLOBALS['_LANG']['copyright'], date('Y'), $GLOBALS['_CFG']['shop_name']));
    $smarty->assign('shop_name',     $GLOBALS['_CFG']['shop_name']);
    $smarty->assign('service_email', $GLOBALS['_CFG']['service_email']);
    $smarty->assign('service_phone', $GLOBALS['_CFG']['service_phone']);
    $smarty->assign('shop_address',  $GLOBALS['_CFG']['shop_address']);
    $smarty->assign('licensed',      license_info());
    $smarty->assign('ecs_version',   VERSION);
    $smarty->assign('icp_number',    $GLOBALS['_CFG']['icp_number']);
    $smarty->assign('username',      !empty($_SESSION['user_name']) ? $_SESSION['user_name'] : '');
    $smarty->assign('category_list', cat_list(0, 0, true,  2, false));
    $smarty->assign('catalog_list',  cat_list(0, 0, false, 1, false));
    $smarty->assign('navigator_list',        get_navigator($ctype, $catlist));  //自定义导航栏

    if (!empty($GLOBALS['_CFG']['search_keywords']))
    {
        $searchkeywords = explode(',', trim($GLOBALS['_CFG']['search_keywords']));
    }
    else
    {
        $searchkeywords = array();
    }
    $smarty->assign('searchkeywords', $searchkeywords);
    /* 时间参数 */
    /* TODO: 时间需要改 */
    if (isset($_POST) && !empty($_POST))
    {
        $start_date = $_POST['start_date'];
        $end_date   = $_POST['end_date'];
    }
    else
    {
        $start_date = local_date('Y-m-d', strtotime('-1 week'));
        $end_date   = local_date('Y-m-d');
    }
    /* ------------------------------------- */
    /* --综合流量
    /* ------------------------------------- */
    $max = 0;
    //$general_xml = "<chart caption='$_LANG[tab_keywords]' shownames='1' showvalues='0' decimals='0' numberPrefix='' outCnvBaseFontSize='12' baseFontSize='12'>";
    $sql = "SELECT keyword, count, searchengine ".
            " FROM " .$GLOBALS['ecs']->table('keywords').
            " WHERE date >= '$start_date' AND date <= '" .$end_date. "'order by count desc limit 5";
    if (isset($_POST['filter']))
    {
        $sql .= ' AND '. db_create_in($_POST['filter'], 'searchengine');
    }
    $res = $GLOBALS['db']->query($sql);
    $search = array();
    $searchengine = array();
    $keyword = array();

    while ($val = $GLOBALS['db']->fetchRow($res))
    {
        $keyword[$val['keyword']] = 1;
        $searchengine[$val['searchengine']][$val['keyword']] = $val['count'];
    }
    $smarty->assign("searchengine",$searchengine);
}

5.这样所做的搜索就到此完毕了。

第一种案例演示:

第二种案例演示:(直接从后台进行添加,你所想要搜索的词语)

时间: 2024-10-16 03:23:14

ecshop二次开发--热词搜索且显示的相关文章

关于ecshop二次开发

商城介绍 Ecshop--电子商城管理系统. 高春辉-->ecshop->卖给->康盛--->把ec单独卖给-->shopex(上海商派) Ecshop代码是开放的,可以修改,但是版本是私有的,改了之后,不能以任何派生版本来发布. 目前市场上流行的商城管理系统: Ecshop shopNC(代码部分加密) 国外:zencart,magento(麦金斗) 一般在外贸的公司,用zencart,magento用的多一些. Magento是基于zendframework来开发的. 安

ecshop二次开发功能插件计划列表

原文地址:php ecshop 二次开发 http://phpecshop.blog.51cto.com/6296699/1854849 ecshop功能开发计划列表 1.搜索页面添加筛选功能,类似京东 2.搜索结合coreseek实现中文分词功能,后台可以添加修改删除关键词 3.搜索框输入关键词自动提示,类似京东效果 4.缓存使用memcached储存,加快访问速度 5.添加多语言,一个后台管理多个语言商城内容 6.每天登录送积分,设置连续登录不同的天数再奖励相应的积分 7.注册添加手机验证码

ecshop二次开发秒杀、限时折扣、清仓等功能

限时抢购,秒杀商品的二次开发 1,先在后台admin/templates 中找goods_info.htm文件到促销部分,改为一个下拉列表的分别是促销,限时,秒杀,值分别是1,2,3这样,代码如下: <!-- 限时抢购开始 liangfang edit--> <tr> <td class="label"><label for="is_promote"> <input type="checkbox&quo

EcShop二次开发学习方法

EcShop二次开发学习方法 (2012-03-08 11:10:08) 转载▼ 标签: 京东 公用函数库 二次开发 sql语言 数据库设计 杂谈 分类: ecshop 近年来,随着互联网的发展,电子商务也跟着一起成长,B2B,C2C,B2C的电子商务模式也不断的成熟.这时催生出了众多电子商务相关的PHP开源产品.B2C方面有Ecshop,Zencart,Magento等国内外知名产品.下面我们就来简单介绍一下学习Ecshop二次开发的过程和要注意的一些东西: Ecshop二次开发必备基础: 非

[二次开发]dede文章页面如何显示作者的头像

dede在文章页面显示作者只是显示其用户名,但是假如我想把dede改造成较为社交化的网站,我觉得是有必要显示作者的头像的,但是官方并没有相应的模版标签. 在网上看到解决这个问题的办法基本上是直接在模版页面调用runphp的程序段,的确这种办法是可行的. 但是我不倾向于这么做,因为很多时候我们都需要差异化的功能,每次都这样夹杂着php代码看起来很乱. 我是直接在php文件里面修改的,让文章模版可以调用几个新的标签. 找到/include/arc.archives.class.php文件 搜索"$t

搜索热词 搜索联想词

/*    so.js    HEAD 搜索框js所有逻辑都放在这里    by sunhw 2014-9-22*/T.dom.ready(function(){    //搜索下拉联想词    F.load('widget.autocomplete.autoComplete', function(){        var mask = T.get('so-mask');        if(!mask) return;        this.show({            render

ECSHOP二次开发杂记(一)

\includes\lib_commom.php =>公用函数库 \includes\lib_main.php =>前台公用函数库 \includes\lib_init.php =>初始化,供/index.php调用 \includes\lib_insert.php =>动态内容函数库 模板{insert name='ads' id=$ads_id num=$ads_num} 所调用的函数即是 function insert_ads \includes\cls_template.p

Ecshop二次开发

目录 一.常见的商城管理系统????1 二.ecshop的介绍????1 三.安装????1 1.下载解压软件,拷贝到指定的目录.????1 2.新建一个虚拟主机.????2 3.访问域名开始安装:????2 四.ecshop的目录结构:????3 五.程序执行流程.????3 六.小试牛刀:把大于号改成两个大于号.????4 七.init.php文件分析:????6 八.完成邮箱登陆????10 ? ? 一.常见的商城管理系统 Ecshop shopNC(代码部分加密) 国外:zencart,

ecshop二次开发--电子票

前台效果展示: 2. 3. 后台展示效果: 代码实现: 一.             添加菜单项:路径admin\includes\inc_menu.php $modules['18_ticket_manage']['01_ticket_list'] = 'ticket.php?act=list'; $modules['18_ticket_manage']['02_ticket_add'] = 'ticket.php?act=add'; 配置菜单语言 打开 /languages/zh_cn/ad