帝国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){
此处隐藏77个字。
回复评论可见修改的原理是,使用数组传地址的方式,加强$navinfor变量和$add(存储的某条信息主附表所有字段值)的联系,使得模板中对字段值的修改能够传回标签。