ecshop二次开发--广告投放

来源:互联网 发布:qq飞车淘宝刷徒弟流程 编辑:程序博客网 时间:2024/04/29 16:18



安装完成之后如何使用:

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);      }  




0 0
原创粉丝点击