2010-07-31 2 views
1

При отправке сообщения в моем веб-узле контактной формы в Drupal 6.x я получаю следующее сообщение в верхней части каждого сообщения:Drupal: Редактировать шаблон сообщения электронной почты из контактной формы

[Имя] послал сообщение, используя контактная форма на [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() для редактирования контактный модуль. Когда дело доходит до этого, я немного теряюсь. Может ли кто-нибудь любезно принять меня через шаги, чтобы выполнить эту задачу?

Большое спасибо.

ответ

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/ 
    } 
} 
+0

благодарит за ответ. Итак, как я могу это использовать? Где я могу вставить этот код? –

+0

@Chris: вы должны вставить его в файл своего собственного модуля. Например, если имя модуля является «modulename» (например, в коде googletorp), вы должны вставить его в файл 'modulename.module', но сначала вы должны узнать, как создать простой модуль: http://drupal.org/node/361112 (есть и соответствующая ссылка на другие версии Drupal) – Sk8erPeter