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)}了,这也算是定向投放了