drupal

Acquia Dev Desktop 2 无法发送邮件


本地调试Drupal网站,发送邮件一直没有问题。

不知道什么原因就无法发送了。

重启 acquia 的 XMail 服务又可以了。

Drupal 中的 hook 理解


hook 分两类

定义

什么是定义呢,

  • hook_menu
  • hook_entity_info
  • hook_theme

之类的,定义什么什么

如上:

  • hook_menu 定义一个 路由
  • hook_entity_info 定义一个entity模型
  • hook_theme 定义一个模版

功能

什么是功能

  • hook_node_insert
  • hook_user_login

发生某个事件需要做什么

如上:

  • hook_node_insert 当新node插入的时候,我的模块需要做什么
  • hook_user_login 当用户登录的时候,我的模块需要做什么

Drupal 的所有扩展机制都是建立在 hook 机制上的。

Tags: 

Drupal 8 发送HTML邮件


实现 hook_mail

hook_mail($key, &$message, $params)
/**
 * Implements hook_mail().
 */
function common_mail($key, &$message, $params) {
  switch ($key) {
    case 'test': {
      $message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed; delsp=yes';
      $message['body'][] = new \Drupal\Component\Render\FormattableMarkup($params['content'], []);
      break;
    }
  }
}

使用的时候

$message = \Drupal::service('plugin.manager.mail')->mail('common', 'test', $mail, $langcode, $params);

HTML 格式邮件发送