2016-02-04 58 views
0

我遇到了自定義Moodle電子郵件的問題。Moodle - 自定義新用戶通知

Moodle管理員會收到一封電子郵件,告訴他們新用戶已經創建了一個帳戶,我正在使用this

它工作正常,但我試圖自定義電子郵件佔位符,因爲它發送的是不需要的整個用戶數據。

我只是想發送名稱和電子郵件。

這是我的代碼:

Olá Administrador, uma nova conta requisitou aprovação com a seguinte informação: 
Nome: {$a->firstname} 
Email: {$a->email} 
Para confirmar a conta vá a este link {$a->link} 
Pode também confirmar a conta no Moodle navegando na Administração do Site -> Utilizadores -> Contas -> Ver lista 

{$ A->姓}作品「精」,因爲它顯示了新用戶的完整名稱,但{$ A->電子郵件}不工作所有,它會顯示在代碼中:「電子郵件:{$ a-> email}」。

我試過emailaddress,電子郵件,郵件等我找不到電子郵件的工作佔位符。

我在哪裏可以找到我可以使用的佔位符列表?我真的不想使用{$ a-> userdata},因爲它顯示的太多了,因爲管理員的ID和無意義的東西。

回答

1

你需要修改核心代碼來做到這一點。

有在/lib/moodlelib.php

看看function send_confirmation_email()然後尋找該函數的StringID emailconfirmation

get_string()傳遞$ data,它用於佔位符。

上面是

$data = new stdClass(); 
$data->firstname = fullname($user); 
$data->sitename = format_string($site->fullname); 
$data->admin  = generate_email_signoff(); 

因此,只有姓名,站點名稱和管理員可用。

您需要將電子郵件地址添加到$數據,例如:

$data->email = $user->email; 

然後你可以使用{$ A->電子郵件}作爲佔位符。

+0

我可能做錯了什麼或不起作用。 我甚至嘗試過使用他們的方法:'$ data-> email = email($ user);'但它仍然無效。有任何想法嗎? – White8Tiger

+0

郵件中是否仍有{{a-> email}的郵件地址? –

+0

是的。它顯示爲電子郵件:{$ a-> email}像它不是一個佔位符... – White8Tiger