簡體   English   中英

如何在Drupal中修改貢獻模塊的功能?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM