首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修改drupal中的贡献模块功能?

问如何修改drupal中的贡献模块功能?
EN

Stack Overflow用户
提问于 2014-10-14 07:37:40
回答 1查看 941关注 0票数 1

我需要修改simplenews模块中的simplenews_build_newsletter_mail()函数,但是我们不修改直接贡献的模块函数。

有人能告诉我修改simplenews_build_newsletter_mail()函数的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-14 08:04:45

大多数在drupal中移动的数据都可以通过“钩子”进行修改。

要更改simplenews_build_newsletter_mail(&$message, SimplenewsSourceInterface $source)的函数是从simplenews_mail($key, &$message, $params)调用的,这是hook_mail的简单实现。

幸运的是,hook_mail的所有输出都可以通过hook_mail_alter()进行更改。

您需要做的是创建自己的模块,然后在新的自定义模块中实现hook_mail_alter()。找到你的目标电子邮件,改变它们。

您需要确定要使用邮件$id修改的邮件,在您的情况下,标识为{$module}_{$key},其中模块是生成此电子邮件的drupal模块(simplenews)。

在这里可以找到更多信息,alter/7

代码语言:javascript
复制
    /**
     * Implements hook_mail_alter().
     */
    function mymodule_mail_alter(&$message) {
      switch ($message['id']) {
        case 'simplenews_node':
        case 'simplenews_test':
          // Do your magic.
          break;
      }
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26355189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档