码迷,mamicode.com
首页 > 其他好文 > 详细

ECShop定点投放广告

时间:2016-05-12 22:16:24      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:

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


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'] = '城市';


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',<span style="color:#FF0000;">'$_POST[city]'</span>)";

二、定点投放

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";   //上海

    //调用接口  判断所在城市
        $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 ($static_res[$arr['id']] === NULL)
        {
            $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 a.position_id = '" . $arr['id'] .
                        "' AND start_time <= '" . $time . "'<span style="color:#FF0000;">AND city='$city'</span> AND end_time >= '" . $time . "' " .
                    'ORDER BY rnd LIMIT 1';
            $static_res[$arr['id']] = $GLOBALS['db']->GetAll($sql);
        }




ECShop定点投放广告

标签:

原文地址:http://blog.csdn.net/mechnaic/article/details/51356028

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!