织梦如何调用自定义变量?

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

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

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

第一步:在后台创建自定义变量

这是所有操作的基础,你需要在织梦的后台系统设置中定义你的变量。

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

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

  3. 选择变量类型

    • 核心设置:这里存放的是网站最核心的全局变量,如网站名称、网站版权信息等,织梦自带了很多,你也可以在这里修改。
    • 添加新变量:这是我们要重点使用的,点击 【添加新变量】 按钮。
  4. 填写变量信息

    • 变量名称:这是变量的唯一标识,通常使用大写字母和下划线,MY_SITE_ICPMY_SITE_WECHAT命名规范很重要,调用时需要用到这个名称。
    • 变量类型:选择变量的数据类型。
      • 文本:最常用的类型,用于存放文字、数字、短代码等。
      • 文本域:用于存放多行文本,比如一段详细的介绍或说明。
      • 布尔:用于存放“是/否”、“开/关”这样的布尔值。
      • 数字:用于存放纯数字。
      • 下拉列表:用于提供一个或多个选项,方便选择。
    • 变量值:变量的默认值。
    • 备注:对该变量的说明,方便日后管理。
  5. 保存变量:填写完毕后,点击底部的 【保存】 按钮。

示例: 假设我们要添加一个“微信公众号二维码图片地址”的自定义变量。

  • 变量名称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 即可。

条件判断的综合运用

在实际开发中,我们经常需要根据变量的值来决定是否显示某块内容,最优雅的方式是结合 {dede:global}{if}

示例:只有当后台填写了“在线客服QQ”时,才显示客服图标。

{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、三元运算。

掌握自定义变量的调用,能让你更高效地管理和维护织梦网站,将网站内容与模板样式分离,大大提升开发效率。

-- 展开阅读全文 --
头像
c语言mlibrary是什么?
« 上一篇 04-22
织梦采集自定义接口
下一篇 » 04-22

相关文章

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