帝国cms7.2 7.5+utf8 在内容中插入广告的代码
假定 新闻模型,自定义字段为adid; 内容中插入的广告标记为[!jiuhacaiad!],保存广告的栏目id为75
内容模板:[!--newstext--] 替换为以下代码
<?
if(!$navinfor[adid]){
//此处从数据库中查询到adid广告,对应的内容字符串,比如结果为$adstring;
/*代码可能为:
$classid=75;
$tbname=$class_r[$classid][tbname];
$ad=$empire->fetch1("select * from {$dbtbpre}ecms_{$tbname} where classid ={$classid} and id=$navinfor[adid] limit 1");
$adstring=$ad[你的字段1].$ad[你的字段2];
*/
$navinfor[newstext]= str_replace([!jiuhacaiad!],$adstring,$navinfor[newstext]);
}
echo $navinfor[newstext];
?>
附:继续使用分页
针对帝国cms 的源码文件e/class/functions.php 修改两个地方:
1. 查找$GLOBALS['navinfor']=$add;
修改为 $GLOBALS['navinfor']=&$add;
2.查找function GetInfoNewsBq($classid,$newstemp_r,$ecms_gr,$docheckrep){
修改的原理是,使用数组传地址的方式,加强$navinfor变量和$add(存储的某条信息主附表所有字段值)的联系,使得模板中对字段值的修改能够传回标签。
|