我希望能够在管理员在Sonata管理面板中启用用户时向用户发送电子邮件。
我必须知道我应该覆盖或扩展哪个文件。
我认为它类似于此subject或此stack-overflow subject:
/**
* {@inheritdoc}
*/
public function create($object)
{
parent::create($object);
// send welcome email to new user
}
我在admin包中找到了create函数,但我想它不会仅为UserBundle重写。如果它确实是要走的路,我怎么能只为UserBundle指定?
有关信息,我在UserBundle中找不到任何创建或更新功能。仅限于AdminBundle。
答案 0 :(得分:3)
我将从我的要点谈到合同事件: https://gist.github.com/webdevilopers/4eea317ade72a119a72e 根据您的需求进行调整。猜猜你可以简单地重命名"合同"到"用户"。
然后在管理类的某处添加事件:
$event = new ContractEvent($contract);
$dispatcher = $this->get('event_dispatcher');
$dispatcher->dispatch(
ContractEvents::CONTRACT_CREATED,
$event
);
有关如何注入SwiftMailer的详细信息,请参阅要点。
您可以选择Sonata Admin为您提供的活动,而不是创建您自己的活动: Admin's documentation - Reference - Events (master)
选择适合您需求的那个。