📜  drupa 8 如何输出到消息在页面上 (1)

📅  最后修改于: 2023-12-03 15:14:48.080000             🧑  作者: Mango

Drupal 8 如何输出到消息在页面上

介绍

Drupal 8 是一个开源的内容管理系统,它提供了强大的功能和灵活的架构,使开发者能够构建精美的网站和应用程序。本文主要介绍如何在 Drupal 8 中输出消息到页面上,帮助开发者更好地控制用户体验。

输出

Drupal 8 提供了一个名为 messenger 的服务,该服务可以用于在页面上输出消息。输出消息的步骤如下:

  1. 获取 messenger 服务
$messenger = \Drupal::messenger();
  1. 输出各种类型的消息
// 输出成功消息
$messenger->addMessage('操作成功');

// 输出警告消息
$messenger->addWarning('警告:操作失败');

// 输出错误消息
$messenger->addError('错误:操作失败');
消息类型

Drupal 8 的 messenger 服务支持以下几种消息类型:

  • status: 成功的消息

  • warning: 警告的消息

  • error: 错误的消息

  • info: 一般的消息

代码片段

下面是一个完整的示例,用于在一个 Drupal 8 主题中输出成功、警告和错误消息:

/**
 * Implements hook_preprocess_page().
 */
function mytheme_preprocess_page(&$variables) {

  $messenger = \Drupal::messenger();

  // 输出成功消息
  $messenger->addMessage('操作成功', 'status');

  // 输出警告消息
  $messenger->addWarning('警告:操作失败');

  // 输出错误消息
  $messenger->addError('错误:操作失败');

  // 将消息输出到页面上
  $variables['messages'] = $messenger->render();
}

以上代码片段需要注意的是,$variables['messages'] 变量存储了输出的消息,会在 page.html.twig 模板中被渲染。因此,在模板文件中,只需要像下面这样输出变量 messages 就可以了。

{% if messages %}
  <div class="messages">
    {{ messages }}
  </div>
{% endif %}

输出的效果如下:

Drupal 8 输出消息

结论

在本文中,我们介绍了如何在 Drupal 8 中输出消息到页面上。通过使用 messenger 服务,开发者可以在适当的时候向用户显示各种类型的消息,以改善用户体验。