【ecshop二次开发】ecshop文章增加点击数的方法
商之翼(www.68ecshop.com) / 2015-07-06 / 7004

有时,我们想要为文章查看一下文章点击量,可是默认是没有这个字段的,那我们该怎么做才能把它呈现出来,现在就由68ecshop的技术来为你讲解一下吧

第一步:为ecshop的文章表增加一个字段click_count以存储文章的点击次数浏览次数,如何为文章表增加击点击次数,可以直接在你的ecshop网店后台--->数据库管理--->sql查询执行一条SQL语句:
代码如下
    ALTER TABLE ecs_article ADD COLUMN click_count INT(10) DEFAULT  0;  
注意表句ecs_article中的表前缀可能随着你的ecshop安装时的设置不同而不同,如果你的表前缀是shop_请把sql句语中的ecs_换成shop_,否则sql语句将执行不成功。 
第二步:修改article.php,浏览文章时增加点击次数数值:
代码如下:第4、5行是新增代码 
        assign_dynamic('article');   
    }         
    /* 更新点击次数 */  
    $db->query('UPDATE ' . $ecs->table('article') . " SET click_count = click_count + 1 WHERE  article_id = '$article_id'");      
    if(isset($article) && $article['cat_id'] > 2)   
第三步:修改article.dwt把文章的点击次数显示出来
代码如下
    <font class="f3">{$article.author|escape:html} / {$article.add_time}/{$article.click_count}</font>  
其中{$article.click_count}代表的文章点击次数
这样就可以了,如果想要加上后台的可操作性也很简单,操作如下:
(1)打开文件/languages/zh_cn/admin/article.php 添加代码: 
    $_LANG['all_cat'] = '全部分类';   
    /*--新增代码--*/  
    $_LANG['click_count'] = '点击数';   
    /*--end--*/   
(2)打开文件/admin/templates/article_list.htm 代码如下 
    <th><a href="javascript:listTable.sort('article_type'); ">{$lang.article_type}</a>{$sort_article_type}</th>  
    <!--新增代码-->  
    <th><a href="javascript:listTable.sort('click_count')">{$lang.click_count}</a></th>  
    <!--end-->  
    <th><a href="javascript:listTable.sort('is_open'); ">{$lang.is_open}</a>{$sort_is_open}</th>  
    <td align="center"><span>{if $list.article_type eq 0}{$lang.common}{else}{$lang.top}{/if}</span></td>  
    <!--新增代码-->  
    <td align="center"><span onclick="javascript:listTable.edit(this, 'edit_click_count', {$list.article_id})">{$list.click_count|escape:html}</span></td>  
    <!--end-->  
    <td align="center">{if $list.cat_id > 0}<span>  
(3)打开文件/admin/article.php 大概335行的位置,代码如下:
    /*------------------------------------------------------ */  
    //-- 编辑文章主题   
    /*------------------------------------------------------ */  
    elseif ($_REQUEST['act'] == 'edit_title')   
    {   
        check_authz_json('article_manage');   
      
        $id    = intval($_POST['id']);   
        $title = json_str_iconv(trim($_POST['val']));   
      
        /* 检查文章标题是否重复 */  
        if ($exc->num("title", $title, $id) != 0)   
        {   
            make_json_error(sprintf($_LANG['title_exist'], $title));   
        }   
        else  
        {   
            if ($exc->edit("title = '$title'", $id))   
            {   
                clear_cache_files();   
                admin_log($title, 'edit', 'article');   
                make_json_result(stripslashes($title));   
            }   
            else  
            {   
                make_json_error($db->error());   
            }   
        }   
    }   
      
    /*--新增代码--*/  
      
    /*------------------------------------------------------ */  
    //-- 编辑文章点击   
    /*------------------------------------------------------ */  
    elseif ($_REQUEST['act'] == 'edit_click_count')   
    {   
        check_authz_json('article_manage');   
      
        $id    = intval($_POST['id']);   
        $click_count = json_str_iconv(trim($_POST['val']));   
      
        if ($exc->edit("click_count = '$click_count'", $id))   
        {   
            clear_cache_files();   
            admin_log($click_count, 'edit', 'article');   
            make_json_result(stripslashes($click_count));   
        }   
        else  
        {   
            make_json_error($db->error());   
        }         
    }       
    /*--end--*/       
    /*------------------------------------------------------ */  
    //-- 切换是否显示   
    /*------------------------------------------------------ */  
进入后台--文章列表,查看一下,并且点击就可以直接修改