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);

少し調べてみましたが、contact.moduleを編集するには、hook_mail_alter()関数を使用してカスタムモジュールを作成する必要があるようです。これに関しては、私は少し迷子になります。誰かが親切にタスクを達成するための手順を教えてもらえますか?

どうもありがとう。

4

1 に答える 1

2

私は最近そのようなことをしました。これが、必要なものを取得するために使用できるテンプレートです。ほとんどは連絡先モジュールからのものです。以下のコードはDrupal7のものですが、Drupal6と同じように機能するはずです。

/**
 * 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 に答える