如何自定义全局变量,织梦后台操作步骤是什么?

99ANYc3cd6
预计阅读时长 11 分钟
位置: 首页 织梦建站 正文

什么是织梦全局变量?

全局变量,顾名思义,就是在网站的任何一个页面(首页、列表页、内容页、甚至自定义的模板页面)中都可以直接调用的变量。

织梦 自定义全局变量
(图片来源网络,侵删)

织梦自带了一些默认的全局变量,

  • {dede:global.cfg_webname/}:网站名称
  • {dede:global.cfg_weburl/}:网站网址
  • {dede:global.cfg_powerby/}:版权信息

自定义全局变量,就是让你自己创建新的变量,并为其赋值,然后在全站任何地方调用,这非常适用于存放那些不常变化但又需要在多处显示的内容,

  • 公司联系方式
  • 官方QQ群号
  • 备案号信息
  • 网站公告
  • 统一的广告代码

如何在后台设置自定义全局变量?

这是最基础也是最常用的方法,适合存储文本、链接、HTML代码等。

操作步骤:

  1. 登录织梦后台:使用你的管理员账号登录。

  2. 进入变量设置:在左侧菜单栏中,找到并点击 【系统】 -> 【系统基本参数】

  3. 切换到“核心设置”:在打开的页面顶部,你会看到几个选项卡,点击 【核心设置】

  4. 添加新变量

    • 向下滚动页面,你会看到一个名为“自定义变量”的文本框。
    • 这个文本框的格式是:变量名=变量值
    • 变量名:你希望在模板中调用的名字,通常使用英文字母,my_contact
    • 变量值:你想要存储的实际内容,可以是文本、网址、HTML代码等。
    • 注意:每一行只能定义一个变量。
  5. 示例: 假设我们要添加一个“网站公告”和一个“客服QQ”,在自定义变量文本框中输入:

    site_announcement=网站正在维护中,如有问题请联系客服。
    service_qq=12345678
  6. 保存设置:页面底部有一个 【保存】 按钮,点击它,织梦会自动将你添加的变量保存到数据库中。


如何在模板中调用全局变量?

设置好变量后,调用非常简单,语法格式为:

{dede:global.变量名/}

接上面的例子,在模板文件中调用:

  1. 调用文本变量(网站公告):

    <div class="announcement">
        {dede:global.site_announcement/}
    </div>
  2. 调用纯数字变量(客服QQ):

    <a href="http://wpa.qq.com/msgrd?v=3&uin={dede:global.service_qq/}&site=qq&menu=yes" target="_blank">
        联系客服QQ:{dede:global.service_qq/}
    </a>
  3. 调用HTML代码(例如添加一个统计代码): 假设你添加了一个变量 tongji_code,值是 <script>...</script>

    {dede:global.tongji_code/}

    织梦会直接解析其中的HTML标签,无需任何额外处理。


高级用法:通过SQL命令添加和修改变量

当你在模板文件中需要动态地修改或添加全局变量时(在插件开发中),可以使用PHP代码直接操作数据库。

核心数据表#@__sysconfig

主要字段

  • varname:变量名
  • info:变量值(存储的是序列化后的数组,但我们通常直接操作 value 字段)
  • value:变量值(新版本织梦推荐使用此字段)

PHP代码示例:

这些代码通常写在织梦的 {dede:getsql/} 标签里,或者自定义的PHP页面中。

添加一个新变量

如果变量不存在,则插入一条新记录。

{dede:getsql sql="INSERT INTO `#@__sysconfig` (`varname`, `info`, `value`, `type`) VALUES ('new_variable', '新变量描述', '这是新变量的值', 'string');"}
  • varname: 变量名
  • info: 变量描述(可选,但建议填写)
  • value: 变量值
  • type: 变量类型,通常为 string(字符串)

修改一个已存在的变量

如果变量已存在,则更新其值。

{dede:getsql sql="UPDATE `#@__sysconfig` SET `value` = '这是更新后的值' WHERE `varname` = 'new_variable';"}

删除一个变量

{dede:getsql sql="DELETE FROM `#@__sysconfig` WHERE `varname` = 'new_variable';"}

重要提示

  • 使用SQL操作有风险,请务必在操作前备份数据库
  • 这些操作通常在需要“一键更新”或“初始化配置”的场景下使用,普通网站内容编辑一般不需要。

最佳实践与注意事项

  1. 命名规范:自定义变量名建议使用有意义的英文,如 cfg_copyrightcfg_company_address,避免使用中文或特殊字符,以防编码出错。
  2. 内容更新:通过后台【系统基本参数】修改变量后,织梦会自动更新缓存,无需手动刷新,但如果你直接修改了数据库,可能需要清空一下后台的缓存才能在模板中看到最新效果。
  3. 安全性:不要在全局变量中存储密码等敏感信息,所有通过 {dede:global.xxx/} 调用的内容都会直接输出到页面上,如果内容包含恶意JS代码,可能会造成XSS漏洞,虽然织梦有基础过滤,但对于用户提交的内容仍需谨慎。
  4. 与普通变量的区别
    • 全局变量:在后台统一管理,全站通用,适合存储网站级别的固定信息。
    • 普通变量/字段:如文章的标题 {dede:field.title/}、栏目名称 {dede:field.typename/},这些是与特定内容或栏目绑定的,不是全局的。
功能 优点 适用场景
后台设置 简单直观,无需代码,安全可靠 存储网站Logo、备案号、联系方式、公告、广告代码等固定信息。
SQL命令 灵活强大,可动态操作,适合程序化 插件开发、一键配置、需要根据条件批量修改变量值的场景。

对于绝大多数网站管理员和开发者来说,熟练掌握后台设置和模板调用就足以应对99%的需求,希望这份详细的教程能帮助你更好地使用织梦CMS!

-- 展开阅读全文 --
头像
dede面包屑导航标签
« 上一篇 02-27
织梦上传图片卡服务器
下一篇 » 02-27

相关文章

取消
微信二维码
支付宝二维码

目录[+]