Кто-нибудь знает, как вы можете расширить класс Mailer в FOSUserBundle?
Я реализую очень простую проверку электронной почты родителей (вся проверка выполняется в форме, чтобы принудительно ввести электронную почту родителей), если родительское поле электронной почты заполнено на объекте пользователя, то оно должно отправить электронное письмо на этот адрес, а не на адрес электронной почты пользователя.
До сих пор я пробовал следующее:
namespace SSERugby\UserBundle\Mailer;
use FOS\UserBundle\Mailer\Mailer as BaseMailer;
use Symfony\Bundle\FrameworkBundle\Templating\EngineInterface;
use Symfony\Component\Routing\RouterInterface;
class Mailer extends BaseMailer
{
public function sendConfirmationEmailMessage(UserInterface $user)
{
$email = $user->getEmail();
$parentEmail = $user->getParentEmail();
if(isset($parentEmail)&&(trim($parentEmail)!='')){
$email = $parentEmail;
}
$template = $this->parameters['confirmation.template'];
$url = $this->router->generate('fos_user_registration_confirm', array('token' => $user->getConfirmationToken()), true);
$rendered = $this->templating->render($template, array(
'user' => $user,
'confirmationUrl' => $url
));
$this->sendEmailMessage($rendered, $this->parameters['from_email']['confirmation'], $email);
}
}
Этокажется, просто игнорировать переопределенный класс и использовать по умолчанию, я очистил кэш перед тестированием.
Спасибо