2016-02-04 27 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