[英]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.