PHPCMS 根据栏目放置 加载不同的广告
网页的广告设置是一门学问,单纯的方式任意广告 肯定不如定向的放置一些广告来的好处更多
这里就来展示一个为phpcms 根据栏目来加载不同的广告的方式:
假设现在你的phpcms 已经有了很多栏目,每个栏目有不同的内容类型,就可以设定更本栏目更
切合的广告
首选要创建一个广告的配置文件,放置在caches/config/ad.php:
$ad = array();
$ad[1234]=<<<EOF
<!-- 广告位:8176-初中频道独立广告位 -->
<script type="text/javascript" >BAIDU_CLB_SLOT_ID = "XXXXX";</script>
<script type="text/javascript" src="http://cbjs.baidu.com/js/o.js"></script>
EOF;
$ad['other']=<<<EOF
<!-- 广告位:0000-默认显示广告位 -->
<script type="text/javascript" >BAIDU_CLB_SLOT_ID = "XXXXX";</script>
<script type="text/javascript" src="http://cbjs.baidu.com/js/o.js"></script>
EOF;
return $ad;
每个catid可以对应一个广告代码,为了保险起见,放置一个其他代码 作为默认广告
然后再核心函数代码中添加一个函数:
//加载广告
function ad_block($catid){
$adblocks = pc_base::load_config('ad',$catid);
if(empty($adblocks)){
$model = pc_base::load_model("category_model");
$catid = $model->get_one(array('catid'=>$catid));
$adblocks = pc_base::load_config('ad',$catid['parentid']);
if(empty($adblocks) && $catid['parentid'] != 0){
$adblocks = ad_block($catid['parentid']);
}
if(empty($adblocks)||is_array($adblocks)){
$adblocks = pc_base::load_config('ad','other');
}
}
return $adblocks;
}
这个函数主要是根据栏目id查找,找不到的话循环查找上一级,然后返回广告代码
然后就可以在模板中使用 {ad_block($catid)}了,这也算是定向投放了