[英]how to modify function of contributed module in drupal?
我有必要在simplenews模块中修改simplenews_build_newsletter_mail()函数,但是,我们不修改直接贡献的模块函数。
有人可以给我一些方法来修改simplenews_build_newsletter_mail()函数吗?
Drupal中移动的大多数数据都可以通过“挂钩”来更改
您要更改的函数simplenews_build_newsletter_mail(&$message, SimplenewsSourceInterface $source)
从simplenews_mail($key, &$message, $params)
调用,这是hook_mail
实现
好在所有的输出hook_mail
可以改变虽然hook_mail_alter()
您需要做的是创建自己的模块,然后在新的自定义模块中实现hook_mail_alter()
。 找到您的目标电子邮件,进行更改。
您将需要使用邮件$ id标识要更改的邮件,该ID将为{$ module} _ {$ key},其中该模块是您情况下生成此电子邮件(simplenews)的drupal模块。
在此处找到更多信息https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_mail_alter/7
/**
* Implements hook_mail_alter().
*/
function mymodule_mail_alter(&$message) {
switch ($message['id']) {
case 'simplenews_node':
case 'simplenews_test':
// Do your magic.
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.