EDIT sau khi câu trả lời riêng của OP: Sau đây là dựa trên giả định rằng các $u->uid
đề cập đến 'tiêu chuẩn' Drupal user id, đó là không đúng! Vì vậy, người ta phải tìm ra người sử dụng Drupal tương ứng bằng các phương tiện khác, nếu có thể - xem the OPs answer for details về vấn đề này ...
tôi đã không kiểm tra nó, nhưng nhìn vào mã nguồn trả lời tự động, bạn sẽ có thể thêm (người dùng) thay thế thẻ trong autoresponder_mail()
chức năng bằng cách chèn đoạn code sau đây trước khi chuẩn bị của cơ thể văn bản đơn giản (trước dòng 392 trong phiên bản 6.x-1.0-alpha1):
// load the full user object
$user = user_load($u->uid);
// Replace user tokens in mail body
$mail->body = token_replace($mail->body, 'user', $user);
Ngoài ra, bạn có thể thực hiện một cuộc gọi hàm trước đó trong autoresponder_cron()
, trong while ($message db_fetch_object($result_messages))
vòng lặp, trước khi if (autoresponder_mail($u, $message))
gọi (dòng 366), sử dụng $ message thay vì $ mail:
// load the full user object
$user = user_load($u->uid);
// Replace user tokens in mail body
$message->body = token_replace($message->body, 'user', $user);
Trong trường hợp công trình này, bạn có thể muốn gửi nó như một bản vá to the already existing feature request for this. (Tôi đoán bạn là 'keyzo'/'shane' đã trả lời ở đó;)
Nếu nó hoạt động và bạn sẽ tạo một bản vá, thực hành 'chuẩn' để thêm gợi ý về thay thế mã thông báo có thể tới (các) định dạng thông báo trong autoresponder_mail_edit_create_form()
.
Nguồn
2010-06-13 17:38:11
1 để theo dõi - Tôi không nhìn vào lược đồ và chỉ đảm nhận 'tiêu chuẩn' sử dụng uid:/ –
Về câu hỏi/nhận xét, mặc dù: Có phải người dùng ẩn danh cho phép để đăng ký là tốt? Đây sẽ là một lý do chính đáng cho bảng 'autoresponder_users' riêng biệt và điều đó có nghĩa là bạn phải thêm séc vào 'tra cứu người dùng bằng thư' trong trường hợp không tìm thấy người dùng Drupal tương ứng. ('user_load()' sẽ trả về FALSE trong trường hợp đó.) –
Xin chào Henrik, Rất biết ơn về lược đồ - bạn đã chỉ cho tôi đúng hướng mặc dù :-) Và tôi coi trọng quan điểm của bạn về người dùng ẩn danh - nhưng tôi đã nghĩ rằng, vì vậy nó chỉ dành cho người dùng có một tài khoản, suy nghĩ tốt mặc dù! Cảm ơn sự giúp đỡ của bạn. Shane – Shane