帝国CMS 6.6版新增自定义扩展变量功能,用户可以自定义公共的程序使用变量,为用户扩展系统带来便利。比如可以增加像系统$public_r[newsurl]这样的变量,还比如扩展了某个系统模型,需要增加设置项都可以用扩展变量来实现...等等。
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都做网站、洮南网络推广、微信小程序定制开发、洮南网络营销、洮南企业策划、洮南品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供洮南建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
自定义扩展变量功能介绍:
(1)、扩展变量支持按分类归类及显示。删除相应分类会删除分类下的变量。
(2)、变量支持是否写入缓存,如果写入缓存,在任意php或模板中用$public_addr['add_变量名']可取得变量内容。
(3)、内置变量返回函数(数据库读取变量内容):ReturnPublicAddVar(变量名)。取多个变量内容可用逗号隔开,例子:
取得单变量内容:$value=ReturnPublicAddVar('myvar'); //$value就是变量内容。
取得多个变量内容:$value=ReturnPublicAddVar('myvar1,myvar2,myvar3'); //$value['myvar1']才是变量内容。
自定义扩展变量功能的强大在于为二次开发和插件开发提供了便利,再6.5及其以前想要设置类似于$public_r[newsurl](网站地址)这样的的全局变量,我们就必须要更改系统源文件和修改数据表,从而造成升级不不方便。
备注:
1.后台-系统设置-系统参数设置 所有设置记录在数据表phome_enewspublic
2.$public_r缓存数组记录的是数据表phome_enewspublic大部分设置(6.5及其以前) 6.6应该有个分表记录用户设置(猜测)
3.$public_r缓存记录在e/class/config.php中
4.e/class/connect.php包含了e/class/config.php (包含就是require() 或者 include())
5.所有的控制器均包含/引用了e/class/connect.php (控制器就像e/enews/index.php e/DoInfo/ecms.php 这样的文件,根据对应的表单使用对应的函数和引用对应的文件)
6.非控制器比如e/class/functions.php 或者是是e/data/下的木板缓存文件 默认包含他们的文件都包含了e/class/connect.php存在了,所以$public_r成了全局变量();使用如上图
7.除了$public_r还有e/class/config.php文件里你能看到的 e/class/connect.php function db_connect()上方的 比如$navinfor,是不是很熟系在内容也里$navinfor[title] $navinfor['字段']
自定义扩展变量可以不用到应用扩展上,来简单点的
1.来个SEOtitle
2.来个备案号(我朝特色,备案号命名统一的话分享模板都不用改备案号了)
3.来个统计代码(大众公共效应之后也不用该模板板了)
n.....
当然这些模板公共变量也可以做到
修改步骤:
1、以下代码加入到admin/ecmsinfo.php,在任意2个elseif中间插入就行
elseif($enews=="AddTags_all")//列表批量添加Tags
{
$classid=$_POST['classid'];
$id=$_POST['id'];
$tags=$_POST['add_listtags'];
$newstime=time();
eInsertTags2($tags,$classid,$id,$newstime);
}
2、将以下代码加入到class/uesrfun.php
//加入TAG表
function eInsertTags2($tags,$classid,$id,$newstime){
global $empire,$dbtbpre,$class_r;
if(!trim($tags))
{
printerror("TAGS信息不能为空", "", 1, 0, 1);
return '';
}
$count = count($id); //统计ID数量
$tags = RepPostVar($tags);
$tag = explode(",", $tags);
if (emptyempty($count))
{
printerror("未选择信息ID", "", 1, 0, 1);
}
if (count($tag)1)
{
printerror("只能添加一个TAGS词", "", 1, 0, 1);
}
$classid=(int)$classid;
$id[$i] = (int)$id[$i];
$mid=(int)$class_r[$classid][modid];
for($i=0;$i$count;$i++)
{
$tbname=$class_r[$classid][tbname];//获取表名
$r=$empire-fetch1("select tagid from {$dbtbpre}enewstags where tagname='$tags' limit 1");
$t = $empire-fetch1("select infotags from {$dbtbpre}ecms_".$tbname." where id='$id[$i]'");
$taga=$t['infotags'].",".$tags; //组合TAGS
$tagb[$i] = explode(",",$taga); //设置数组
$tagc=array_values(array_unique($tagb[$i])); //数组排重
for($t=0;$tcount($tagc);$t++)
{//二级子循环TAGS数组输出
$newtags[$i].= ",".$tagc[$t];
}
if($r[tagid])
{
$datar=$empire-fetch1("select tagid,classid,newstime from {$dbtbpre}enewstagsdata where tagid='$r[tagid]' and id='$id[$i]' and mid='$mid' limit 1");
if($datar[tagid])
{
if($datar[classid]!=$classid||$datar[newstime]!=$newstime)
{
$empire-query("update {$dbtbpre}enewstagsdata set classid='$classid',newstime='$newstime' where tagid='$r[tagid]' and id='$id[$i]' and mid='$mid' limit 1");
}
}
else
{
$empire-query("update {$dbtbpre}enewstags set num=num+1 where tagid='$r[tagid]'");
$empire-query("update {$dbtbpre}ecms_".$tbname." set infotags='".trim($newtags[$i],",")."' where id='$id[$i]'");
$empire-query("insert into {$dbtbpre}enewstagsdata(tagid,classid,id,newstime,mid) values('$r[tagid]','$classid','$id[$i]','$newstime','$mid');");
}
}
else
{
$empire-query("update {$dbtbpre}ecms_".$tbname." set infotags='".trim($newtags[$i],",")."' where id='$id[$i]'");
$empire-query("insert into {$dbtbpre}enewstags(tagname,num,isgood,cid) values('$tags',1,0,0);");
$tagid=$empire-lastid();
$empire-query("insert into {$dbtbpre}enewstagsdata(tagid,classid,id,newstime,mid) values('$tagid','$classid','$id[$i]','$newstime','$mid');");
}
}
printerror("批量添加TAGS成功", "", 1, 0, 1);
}
3、信息管理列表模板最后一列修改成以下代码,在e/data/html/list/文件夹内
td height="25" colspan="8"
table width="100%" border="0" cellpadding="0" cellspacing="0"
tr
td width="68%" height="25"
font color="#666666"备注:多选框蓝色为未审核信息;发布者红色为会员投稿;信息ID粗体为未生成,点击ID可刷新页面./font
/td
td width="32%" input type="text" name="add_listtags" id="add_listtags" size="50" value="" /
input type="submit" name="Submit100" value="添加TAGS" onClick="document.listform.enews.value='AddTags_all';document.listform.action='ecmsinfo.php';"
/td
/tr
/table
/td
最简单的方法,登陆帝国cms后台-模板管理-公共模板变量-管理模板变量——找到你使用的尾部变量——默认是[!--temp.footer--],把复制的cnzz代码放在a href="" target="_blank"EmpireSoft Inc./a后面,如果是自己做的模板,就放在自己的尾部变量适当的地方即可。然后重新刷新所有页面
爱建站公益网为您解答,还有疑问欢迎咨询
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款