ecshop二次开发--广告投放



安装完成之后如何使用:

1.到后台找到广告管理-》广告列表-》添加广告-》添加成功

2.广告管理-》广告列表-》添加栏位-》添加成功

3.模板管理-》设置模板-》添加广告位

4.确认

5.展示效果













一,进入后台  <广告管理->添加广告>   中加入地区,这里我选择只加入省份

前提是必须在ecs_ad这个数据库中建立一个city字段





1,在  <admin/ads.php>   中的  <添加新广告页面>   简单的追加一个地区模板


    $sql="select region_id,region_name from".$ecs->table('region')."where region_type=1 order by region_id asc";  
    $citys=$db->getAll($sql);  
    foreach($citys as $k=>$v){  
        $city_list[$v['region_name']]=$v['region_name'];  
    }  
    unset($citys);    
    $smarty->assign('city_list',$city_list);  


2,在 <admin/templates/ads_info.htm> 中  添加地区下拉列表

    <!--广告投放  添加城市  开始处-->  
    <tr>  
        <td  class="label">{$lang.city}</td>  
        <td>  
            <select name="city">  
                <option value="0">{$lang.select_please}</option>  
                {html_options options=$city_list selected=$ads.city}  
            </select>  
        </td>  
    </tr>  
    <!--广告投放  添加城市  结束处-->  
















其中类似 {$lang.select_please}  在  <languages/zh_cn/admin/ads.php>  中设置

    //增加广告栏位的地区选项  
    $_LANG['city'] = '城市';$_LANG['select_please']='请选择';  





3,入库    在 <ecs_ad> 表中加入字段  <city> 

在  <admin/ads.php>   中的  <插入数据>   最后追加  <红色字体>  <$_POST['city']>

    $sql = "INSERT INTO ".$ecs->table('ad'). " (position_id,media_type,ad_name,ad_link,ad_code,start_time,end_time,link_man,link_email,link_phone,click_count,enabled,city)  
    VALUES ('$_POST[position_id]',  
            '$_POST[media_type]',  
            '$ad_name',  
            '$ad_link',  
            '$ad_code',  
            '$start_time',  
            '$end_time',  
            '$_POST[link_man]',  
            '$_POST[link_email]',  
            '$_POST[link_phone]',  
            '0',  
            '1','$_POST[city]')";  

















二、定点投放

1,在  <Includes/lib_insert.php>  中  <调用指定位的广告位的广告>  <insert_ads> 的 方法中

添加如下代码

    ##########  根据IP地址判断所在地   start######################  
    //$ips=$_SERVER['REMOTE_ADDR'];   //局域网会报错   可写死值进行测试  
    //$ips="14.31.22.113";    //广东  
    $ips="59.108.49.35";   //北京  
    //$ips="116.231.127.124";   //上海  
    p;   //调用接口  判断所在城市  
        $url="http://api.k780.com:88/?app=ip.get&ip=".$ips."&appkey=18844&sign=56b966b0c21f66e711783b2e965d6686&format=json";  
        $html=file_get_contents($url);  
        $json=json_decode($html,true);  
    //print_r($json);die;  
        $ad=$json['result']['att'];  
    //echo $ad;die;  
        $address=explode(',',$ad);  
    //print_r($address);die;  
        $city=$address[1];  
        echo $city;  
    ##########  根据IP地址判断所在地   end######################  




















2,在判断中追加 <红色字体> 条件

    if (!empty($arr['num']) && $arr['num'] != 1)  
    {  
        $sql  = 'SELECT a.ad_id, a.position_id, a.media_type, a.ad_link, a.ad_code, a.ad_name, p.ad_width, ' .  
                    'p.ad_height, p.position_style, RAND() AS rnd ' .  
                'FROM ' . $GLOBALS['ecs']->table('ad') . ' AS a '.  
                'LEFT JOIN ' . $GLOBALS['ecs']->table('ad_position') . ' AS p ON a.position_id = p.position_id ' .  
                "WHERE enabled = 1 AND start_time <= '" . $time . "' AND end_time >= '" . $time . "' AND city='$city' ".  
                    "AND a.position_id = '" . $arr['id'] . "' " .  
                'ORDER BY rnd LIMIT ' . $arr['num'];  
        $res = $GLOBALS['db']->GetAll($sql);  
    }  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值