实现闪烁消息

闪烁消息是临时通知,出现在页面的顶部,用于向用户告知操作的结果。

后端实现 - PHP

  1. 将翻译字符串添加到 {bundle}/Translations/en_US/flashes.ini 文件中。

  2. 在控制器中使用以下代码:

    // 成功消息
    $this->addFlashMessage('mautic.core.notice.created', [
        '%name%' => $entity->getName()
    ]);
    
    // 错误消息
    $this->addFlashMessage('mautic.core.error.generic', [], 'error');
    

addFlashMessage() 方法接受三个参数:

  • 翻译键: 来自你的 .ini 文件的唯一字符串标识符。例如,mautic.core.notice.created

  • 参数: 一个值的数组,用于替换翻译字符串中的占位符,例如 %name%

  • 消息类型: 要显示的的消息类型。默认值为 notice

前端实现 - JavaScript

  1. 将翻译字符串添加到 {bundle}/Translations/en_US/flashes.ini 文件中:

    mautic.core.notice.my_success_message="Success message here!"
    mautic.core.error.my_error_message="Error message here!"
    
  2. 使用以下辅助函数之一创建闪烁消息:

    • Mautic.addFlashMessage(message): 创建一个通用闪烁消息。

    • Mautic.addInfoFlashMessage(message): 创建一个信息或成功闪烁消息。

    • Mautic.addErrorFlashMessage(message): 创建一个错误闪烁消息。

  3. 将结果传递给 Mautic.setFlashes() 以显示消息。

    // 显示一条成功消息
    var successMsg = Mautic.translate('mautic.core.notice.my_success_message');
    Mautic.setFlashes(Mautic.addInfoFlashMessage(successMsg));
    
    // 显示一个错误消息
    var errorMsg = Mautic.translate('mautic.core.error.my_error_message');
    Mautic.setFlashes(Mautic.addErrorFlashMessage(errorMsg));