1

在 Drupal 6.x 中在我的站点范围的联系表单中提交消息时,我在每条消息的顶部收到以下消息:

[姓名] 使用 [www.mysite.com/contact] 上的联系表发送了一条消息

我想删除此消息。环顾四周,我发现它来自这里的contact.module:

$message['body'][] = t("!name sent a message using the contact form at !form.", array('!name' => $params['name'], '!form' => url($_GET['q'], array('absolute' => TRUE, 'language' => $language))), $language->language);

我做了一些研究,似乎我需要创建一个带有 hook_mail_alter() 函数的自定义模块来编辑contact.module。说到这里,我有点迷失了。任何人都可以带我完成完成任务的步骤吗?

非常感谢。

4

1 回答 1

2

我最近做了类似的事情。这是一个模板,您可以使用它来获得所需的内容。大部分来自接触模块。下面的代码来自 Drupal 7,但应该像在 Drupal 6 中一样工作。

/**
 * Implementation of hook_mail_alter().
 */
function modulename_mail_alter(&$message) {
  if ($message['id'] == 'contact_page_mail') {
    $language = $message['language'];
    $params = $message['params'];
    $variables = array(
      '!form-url' => url($_GET['q'], array('absolute' => TRUE, 'language' => $language)),
      '!sender-name' => format_username($params['sender']),
      '!sender-url' => $params['sender']->uid ? url('user/' . $params['sender']->uid, array('absolute' => TRUE, 'language' => $language)) : $params['sender']->mail,
    );
    $message['body'] = array();
    $message['body'][] = t("Your custom message with variables", $variables, array('langcode' => $language->language));
    $message['body'][] = $params['message']; // Append the user's message/
  }
}
于 2010-07-31T13:05:11.583 回答