帝国cms拓展变量能在后台调用吗

帝国cms拓展变量能在后台调用吗,第1张

系统->系统设置->扩展变量

点击“添加扩展变量“

按要求填写表单

填好后,看下图,确认是否正确

点击”提交“

调用方式:<?=$public_r['add_bian']?> ,将这段代码中的bian改为你自己的变量名称,复制到模板中,即可调用成功,若未成功,请仔细看上面的步骤

帝国CMS 6.6版新增自定义扩展变量功能,用户可以自定义公共的程序使用变量,为用户扩展系统带来便利。比如可以增加像系统$public_r[newsurl]这样的变量,还比如扩展了某个系统模型,需要增加设置项都可以用扩展变量来实现...等等。

自定义扩展变量功能介绍:

(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.....

当然这些模板公共变量也可以做到


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6668810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存