Mercurial > hg > cmmr2012-drupal-site
diff vendor/chi-teck/drupal-code-generator/templates/d8/hook/mail.twig @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/chi-teck/drupal-code-generator/templates/d8/hook/mail.twig Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,41 @@ +/** + * Implements hook_mail(). + */ +function {{ machine_name }}_mail($key, &$message, $params) { + $account = $params['account']; + $context = $params['context']; + $variables = [ + '%site_name' => \Drupal::config('system.site')->get('name'), + '%username' => $account->getDisplayName(), + ]; + if ($context['hook'] == 'taxonomy') { + $entity = $params['entity']; + $vocabulary = Vocabulary::load($entity->id()); + $variables += [ + '%term_name' => $entity->name, + '%term_description' => $entity->description, + '%term_id' => $entity->id(), + '%vocabulary_name' => $vocabulary->label(), + '%vocabulary_description' => $vocabulary->getDescription(), + '%vocabulary_id' => $vocabulary->id(), + ]; + } + + // Node-based variable translation is only available if we have a node. + if (isset($params['node'])) { + /** @var \Drupal\node\NodeInterface $node */ + $node = $params['node']; + $variables += [ + '%uid' => $node->getOwnerId(), + '%url' => $node->url('canonical', ['absolute' => TRUE]), + '%node_type' => node_get_type_label($node), + '%title' => $node->getTitle(), + '%teaser' => $node->teaser, + '%body' => $node->body, + ]; + } + $subject = strtr($context['subject'], $variables); + $body = strtr($context['message'], $variables); + $message['subject'] .= str_replace(["\r", "\n"], '', $subject); + $message['body'][] = MailFormatHelper::htmlToText($body); +}