ecshop二次开发--广告投放

来源:互联网 发布:mac 能装破解版软件么 编辑:程序博客网 时间:2024/04/29 21:23

安装完成之后如何使用:

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

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

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

4.确认

5.展示效果













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

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





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


[python] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $sql="select region_id,region_name from".$ecs->table('region')."where region_type=1 order by region_id asc";  
  2. $citys=$db->getAll($sql);  
  3. foreach($citys as $k=>$v){  
  4.     $city_list[$v['region_name']]=$v['region_name'];  
  5. }  
  6. unset($citys);    
  7. $smarty->assign('city_list',$city_list);  


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

[python] view plain copy 在CODE上查看代码片派生到我的代码片
  1. <!--广告投放  添加城市  开始处-->  
  2. <tr>  
  3.     <td  class="label">{$lang.city}</td>  
  4.     <td>  
  5.         <select name="city">  
  6.             <option value="0">{$lang.select_please}</option>  
  7.             {html_options options=$city_list selected=$ads.city}  
  8.         </select>  
  9.     </td>  
  10. </tr>  
  11. <!--广告投放  添加城市  结束处-->  















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

[python] view plain copy 在CODE上查看代码片派生到我的代码片
  1. //增加广告栏位的地区选项  
  2. $_LANG['city'] = '城市';$_LANG['select_please']='请选择';  




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

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

[python] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $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)  
  2. VALUES ('$_POST[position_id]',  
  3.         '$_POST[media_type]',  
  4.         '$ad_name',  
  5.         '$ad_link',  
  6.         '$ad_code',  
  7.         '$start_time',  
  8.         '$end_time',  
  9.         '$_POST[link_man]',  
  10.         '$_POST[link_email]',  
  11.         '$_POST[link_phone]',  
  12.         '0',  
  13.         '1','$_POST[city]')";  
















二、定点投放

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

添加如下代码

[python] view plain copy 在CODE上查看代码片派生到我的代码片
  1. ##########  根据IP地址判断所在地   start######################  
  2. //$ips=$_SERVER['REMOTE_ADDR'];   //局域网会报错   可写死值进行测试  
  3. //$ips="14.31.22.113";    //广东  
  4. $ips="59.108.49.35";   //北京  
  5. //$ips="116.231.127.124";   //上海  
  6. p;   //调用接口  判断所在城市  
  7.     $url="http://api.k780.com:88/?app=ip.get&ip=".$ips."&appkey=18844&sign=56b966b0c21f66e711783b2e965d6686&format=json";  
  8.     $html=file_get_contents($url);  
  9.     $json=json_decode($html,true);  
  10. //print_r($json);die;  
  11.     $ad=$json['result']['att'];  
  12. //echo $ad;die;  
  13.     $address=explode(',',$ad);  
  14. //print_r($address);die;  
  15.     $city=$address[1];  
  16.     echo $city;  
  17. ##########  根据IP地址判断所在地   end######################  















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

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













0 0
原创粉丝点击