帝国CMS 6.6版新增自定义扩展变量功能,用户可以自定义公共的程序使用变量,为用户扩展系统带来便利。比如可以增加像系统$public_r[newsurl]这样的变量,还比如扩展了某个系统模型,需要增加设置项都可以用扩展变量来实现...等等。
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计、网站制作、宜州网络推广、微信小程序定制开发、宜州网络营销、宜州企业策划、宜州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供宜州建站搭建服务,24小时服务热线:18982081108,官方网址: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.....
当然这些模板公共变量也可以做到
不记得帝国有自带这个标签了,好像织梦有自带的。
帝国没有你也可以增加一个扩展变量的,这样 在任意php或模板中用$public_r['add_变量名']可取得变量内容。
系统-系统设置-扩展变量
点击“添加扩展变量“
按要求填写表单
填好后,看下图,确认是否正确
点击”提交“
调用方式:?=$public_r['add_bian']? ,将这段代码中的bian改为你自己的变量名称,复制到模板中,即可调用成功,若未成功,请仔细看上面的步骤
几种方式:
1、直接在帝国定义的userfun.php中扩充你自己定义的函数,然后在相应的程序页面中直接引用函数即可;
2、在列表模版可以勾选“使用程序代码”,然后写入PHP代码;
3、在相应的页面模版中直接嵌入PHP代码;
4、单独写PHP程序,放在某个目录下作为扩展,然后在帝国相应程序页面中引用。