您的位置:首页 > 其它

dedecms中实现文章正文内容添加广告

2007-06-13 09:19 288 查看
现在很多站长都通过往自己的网站中投放广告来维持网站的生存,传统的投放广告的方法是广告内容和文章的正文内容分离,通过样式表控制广告的漂移位置。那么有没有办法让广告内容混入正文内容,让他们看起来更像一个完整的内容呢,下文是如何在dedecms4中实现这个功能。

 

转载请注明出处: by 肥龙龙(expendable) 

第一步:修改include/inc_downclass.php文件

增加函数function ADString($body,$adstr),其中$body为文章正文内容,$adstr为广告代码。函数代码如下:


//广告函数


function ADString($body,$adstr)


{


  //最大间隔距离(如果在检测不到p标记的情况下,加入广告字串的最大间隔距离)


  $maxpos = 1024;


  $mdd = mt_rand(1,4);


  //以后内容如果你不懂其含义,请不要改动


  //---------------------------------------------------


  $rndstyleValue = $rndstyle[$mdd]['value'];


  $rndstyleName = $rndstyle[$mdd]['name'];


  $reString = "<style> $rndstyleValue </style> ";




  //读取字符串数据


  $totalitem = 1;


  $rndstring[1] = $adstr;


  $start = 0;


  $totalitem = 0;


  $rnstr = "";




  //处理增加广告字段


  $bodylen = strlen($body) - 1;


  $prepos = 0;


  for($i=0;$i<=$bodylen;$i++){


      if($i+2 >= $bodylen || $i<50) $reString .= $body[$i];


      else{


        @$ntag = strtolower($body[$i].$body[$i+1].$body[$i+2]);


        if(($ntag=='</p' || ($ntag=='<br' && $i-$prepos>$maxpos)) && $rnstr=="" ){


             $dd = mt_rand(1,$totalitem);


             $rnstr = $rndstring[$dd];


             $rnstr = " <div class='ad'>$rnstr</div> ";


             $reString .= $rnstr.$body[$i];


             $prepos = $i;


        }


        else $reString .= $body[$i];


    }


  }


  unset($body);


  return $reString;


}

代码没有经过优化,但是可以实现功能,图省事的自己拷贝。

第二步,修改文章模板article_article.htm,调用上面的函数

 原始读入文章内容的代码为:


{dede:field name='body' /}

修改为:


{dede:field name='body' function='ADString(@me,"<script type=text/javascript src=http://pagead2.googlesyndication.com/pagead/show_ads.js></script>")'/}

其中<script src=...></script>的部分就是你的广告,请注意,这段代码中请不要使用任何引号,包括单引号和双引号,并且建议使用绝对地址。

第三步,控制广告的样式

第一部的代码中,通过定义块级元素<div class='ad'></div>来控制广告的样式和位置,请在文章模板中自行修改类选择器ad的样式,达到控制广告位置的目的,下面的代码为建议:


<style type="text/css">


<!--




.ad {...}{ float:left; padding:20px; padding-left:0;}


-->


</style>

转载请注明出处: by 肥龙龙(expendable) 

祝您好运
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  function float class 优化 div