下面我将从后台设置和前端调用两个方面,并结合不同类型的变量,为你详细讲解如何调用自定义变量。

第一步:在后台创建自定义变量
这是所有操作的基础,你需要在织梦的后台系统设置中定义你的变量。
-
登录织梦后台:使用你的管理员账号登录。
-
进入系统设置:在左侧菜单中找到并点击 【系统】 -> 【系统基本参数】。
-
选择变量类型:
- 核心设置:这里存放的是网站最核心的全局变量,如网站名称、网站版权信息等,织梦自带了很多,你也可以在这里修改。
- 添加新变量:这是我们要重点使用的,点击 【添加新变量】 按钮。
-
填写变量信息:
- 变量名称:这是变量的唯一标识,通常使用大写字母和下划线,
MY_SITE_ICP、MY_SITE_WECHAT。命名规范很重要,调用时需要用到这个名称。 - 变量类型:选择变量的数据类型。
- 文本:最常用的类型,用于存放文字、数字、短代码等。
- 文本域:用于存放多行文本,比如一段详细的介绍或说明。
- 布尔:用于存放“是/否”、“开/关”这样的布尔值。
- 数字:用于存放纯数字。
- 下拉列表:用于提供一个或多个选项,方便选择。
- 变量值:变量的默认值。
- 备注:对该变量的说明,方便日后管理。
- 变量名称:这是变量的唯一标识,通常使用大写字母和下划线,
-
保存变量:填写完毕后,点击底部的 【保存】 按钮。
示例: 假设我们要添加一个“微信公众号二维码图片地址”的自定义变量。
- 变量名称:
MY_WECHAT_QRCODE - 变量类型:文本
- 变量值:
/uploads/images/wechat_qrcode.jpg - 备注:微信公众号二维码图片地址
第二步:在前端模板中调用变量
创建好变量后,就可以在网站的模板文件中使用了,调用语法根据变量的类型有所不同。
调用文本、数字、布尔、下拉列表类型的变量
这类变量使用 {dede:global} 标签进行调用。
基本语法:
{dede:global.变量名称/}
示例:
调用我们刚刚创建的 MY_WECHAT_QRCODE 变量来显示二维码图片。
<img src="{dede:global.MY_WECHAT_QRCODE/}" alt="微信公众号二维码">
调用布尔值:
假设我们创建了一个名为 MY_SHOW_COPYRIGHT 的布尔值变量(值为1表示显示,0表示不显示)。
我们可以结合 if 判断来实现条件显示。
{dede:global name='MY_SHOW_COPYRIGHT' runphp='yes'}
if(@me == 1) {
@me = "<p>版权所有 © 2025 我的网站</p>";
} else {
@me = "";
}
{/dede:global}
name='变量名称':指定要调用的变量。runphp='yes':开启PHP执行模式,可以在标签内写PHP代码。@me:这是一个特殊的变量,代表当前标签的值。
调用文本域(多行文本)类型的变量
文本域变量同样使用 {dede:global} 标签,因为它可以自动处理换行符。
基本语法:
{dede:global.变量名称/}
示例:
假设我们有一个 MY_SITE_DESCRIPTION 文本域变量,里面存放了公司的详细介绍。
<div class="site-description">
{dede:global.MY_SITE_DESCRIPTION/}
</div>
织梦会自动将文本域中的换行符(\n)转换为HTML的 <br /> 标签,保持段落格式。
第三步:高级技巧与注意事项
在不同位置调用变量
-
在head.htm中调用:通常用于设置网站标题、关键词、描述等,这些是全局性的。
- :
{dede:global.cfg_webname/}(这是织梦自带的) - 自定义关键词:
<meta name="keywords" content="{dede:global.MY_SITE_KEYWORDS/}">
- :
-
在footer.htm中调用:通常用于显示版权信息、备案号、联系方式等。
<footer> <p>网站备案号:{dede:global.MY_SITE_ICP/}</p> <p>联系方式:{dede:global.MY_SITE_CONTACT/}</p> <p>版权所有 © {dede:global.cfg_webname/}</p> </footer> -
页(article_article.htm)中调用:可以为不同的栏目或文章设置不同的自定义变量,实现更精细的控制。
<!-- 在文章页显示该栏目的特定联系方式 --> <div class="contact-info"> {dede:field name='typename' function='GetContact(@me)'/} </div>注意:这种在字段后加
function的方式是调用自定义函数,更复杂,对于简单的全局变量,直接用global即可。
条件判断的综合运用
在实际开发中,我们经常需要根据变量的值来决定是否显示某块内容,最优雅的方式是结合 示例:只有当后台填写了“在线客服QQ”时,才显示客服图标。 这段代码的意思是:获取 如果某个变量你忘记在后台设置,直接调用可能会导致页面报错或显示空白,为了模板的健壮性,可以使用三元运算符进行判断。 示例: 这段代码的意思是: 掌握自定义变量的调用,能让你更高效地管理和维护织梦网站,将网站内容与模板样式分离,大大提升开发效率。{dede:global} 和 {if}
{dede:global name='MY_ONLINE_QQ' runphp='yes'}
if(!empty(@me)) {
@me = '<a href="http://wpa.qq.com/msgrd?v=3&uin=' . @me . '&site=qq&menu=yes" target="_blank" class="qq-icon">
<img src="/templets/default/images/qq.png" alt="在线客服">
</a>';
} else {
@me = '';
}
{/dede:global}
MY_ONLINE_QQ 的值,如果它不为空(!empty(@me)),就生成一个QQ客服的链接;如果为空,就什么都不输出(@me = '')。变量不存在的处理
{dede:global name='MY_WECHAT_QRCODE' runphp='yes'}
@me = (!empty(@me)) ? '<img src="' . @me . '" alt="微信">' : '';
{/dede:global}
MY_WECHAT_QRCODE 不为空,就显示图片;如果为空,就显示一个空字符串。
步骤
操作
核心标签/语法
说明
后台设置
【系统】->【系统基本参数】->【添加新变量】
定义变量名称、类型、值和备注。
前端调用
在模板文件中使用
{dede:global.变量名称/}调用文本、数字、布尔等单行变量。
{dede:global.变量名称/}调用文本域(多行)变量,自动处理换行。
高级技巧
条件判断、容错处理
{dede:global name='...' runphp='yes'}...{/dede:global}结合PHP代码实现复杂逻辑,如if/else、三元运算。
