织梦网$message是什么?

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

$message是织梦CMS中一个非常核心和常用的全局变量,主要用于在前台模板中显示系统或自定义的提示信息,它的作用类似于PHP中的echoprint,但专门用于信息提示,并且经常与跳转功能结合使用。

织梦网$message
(图片来源网络,侵删)

$message的核心作用

$message就是用来在前台页面上显示一段文字信息,它最常见的使用场景是:

  • 操作成功提示:文章发布成功!”、“评论已提交!”。
  • 操作失败提示:登录失败,用户名或密码错误!”、“该用户名已被注册!”。
  • 系统信息反馈:系统将在5秒后跳转到首页...”。
  • 验证错误提示:请输入有效的电子邮箱地址!”。

$message的典型使用场景

$message通常与ShowMsg()这个PHP函数配合使用。ShowMsg()函数负责生成包含$message信息的提示页面,并可以控制页面跳转。

最经典的例子就是用户登录:

/member/index.php文件中,当用户提交登录信息后,PHP代码会验证用户名和密码。

织梦网$message
(图片来源网络,侵删)

PHP代码逻辑 (通常在 member/index_do.php 或类似文件中):

<?php
require_once(dirname(__FILE__)."/config.php");
require_once(DEDEINC."/membermodel.class.php");
$dsql = new DedeModel();
$uid = $dsql->GetOne("SELECT id FROM `#@__member` WHERE userid='$userid' AND pwd='$pwd'");
if(is_array($uid)) {
    // 登录成功,设置会话,然后跳转
    $msg = '登录成功!';
    $gourl = 'index.php'; // 跳转到会员中心首页
    ShowMsg($msg, $gourl, 0, 2000);
} else {
    // 登录失败,显示错误信息并跳回登录页
    $msg = '登录失败,用户名或密码错误!';
    $gourl = 'login.php'; // 跳转回登录页面
    ShowMsg($msg, $gourl, 0, 2000);
}
?>

模板文件 (通常位于 /member/templets/showmsg.htm):

这个模板文件是专门用来显示$message信息的。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">提示信息</title>
    <style>
        body { font-family: "Microsoft YaHei", Arial, sans-serif; background-color: #f5f5f5; }
        .msg-box { width: 400px; margin: 100px auto; padding: 20px; background: #fff; border-radius: 5px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); text-align: center; }
        .msg-title { font-size: 18px; font-weight: bold; margin-bottom: 15px; }
        .msg-content { font-size: 14px; color: #333; line-height: 1.6; }
        .msg-redirect { margin-top: 20px; font-size: 12px; color: #999; }
    </style>
</head>
<body>
    <div class="msg-box">
        <div class="msg-title">系统提示</div>
        <div class="msg-content">
            {dede:global name='message'/}  <!-- 这里就是显示$message的地方 -->
        </div>
        <div class="msg-redirect">
            {dede:global name='gourl'/}
            <br />
            如果您的浏览器没有自动跳转,请点击上面的链接!
        </div>
    </div>
</body>
</html>

流程解析:

  1. 用户在login.php输入用户名密码,点击登录。
  2. 表单提交到index_do.php
  3. PHP代码验证失败,调用ShowMsg('登录失败...', 'login.php', ...)
  4. ShowMsg()函数内部会设置一个全局变量$message,值为“登录失败...”,然后加载showmsg.htm模板。
  5. 模板引擎解析{dede:global name='message'/}标签时,就会把PHP中$message变量的值替换到这里。
  6. 用户看到的页面就是一个提示“登录失败...”的页面,并在几秒后自动跳转回login.php

$message的来源

$message变量的值通常由以下方式产生:

  1. ShowMsg()函数:这是最主要、最规范的来源,在织梦的PHP文件中,几乎所有需要显示提示信息的地方都会调用ShowMsg(),这个函数会自动将第一个参数(提示信息)赋值给全局变量$message
  2. 自定义赋值:开发者也可以在任何PHP文件中直接给$message变量赋值,然后在模板中显示。
    <?php
    $message = "这是一条自定义信息";
    // ... 然后包含一个显示$message的模板文件
    include(DEDETEMPLATE.'/plus/showmsg.htm');
    ?>
  3. 其他函数:一些织梦内置的函数或类在执行特定操作时,可能会通过$message来返回结果或错误信息。

如何在模板中调用

在织梦模板中,有几种方式可以显示$message

  1. {dede:global name='message'/}:这是最标准、最推荐的方式。{dede:global}用于获取全局PHP变量。
  2. {dede:var name='message' /}:在某些版本或特定情况下,{dede:var}也可以用来获取变量,但{dede:global}更通用。
  3. 直接使用$message:在早期或某些非标准的模板写法中,可能会直接使用<?=$message?>,这种方式虽然也能工作,但不符合织梦的标签规范,不推荐使用。

特性 描述
变量名 $message
数据类型 String (字符串)
作用域 全局变量,主要在PHP和前台模板之间传递信息。
主要用途 在前台显示操作成功、失败或系统提示信息。
搭档函数 ShowMsg()ShowMsg()负责设置$message并加载提示模板。
模板标签 {dede:global name='message'/}
自定义 可以在PHP文件中直接$message = '...'进行赋值。

一句话概括:$message是织梦CMS用来在前台页面上显示“提示信息”这个“传声筒”变量,它通常由后台的ShowMsg()函数“喂”给它,再由模板的{dede:global}标签“说”给用户听。

-- 展开阅读全文 --
头像
dedecms织梦视频怎么用?
« 上一篇 02-13
dede如何调用当前子栏目名称?
下一篇 » 02-13

相关文章

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

目录[+]