FOSUserBundle에서 Mailer 클래스를 확장하는 방법을 아는 사람이 있습니까?FOSUserBundle에서 symfony 메일러 클래스 확장하기
매우 기본적인 학부모 이메일 확인을 구현하고 있습니다 (부모의 이메일을 강제로 입력하기 위해 양식에서 모든 유효성 검사가 수행됩니다), 부모 이메일 필드가 사용자 엔터티에 채워진 다음 이메일을 보내면 그 주소는 사용자의 이메일이 아닙니다. 나는 지금까지 다음과 같은 시도
은 : 그것은 단지 비록 오버라이드 (override) 클래스를 무시하고 기본값을 사용하는 것
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);
}
}
, 내가 테스트하기 전에 캐시를 삭제했다.
감사
당신은 확장 된 메일 클래스와 새로운 서비스를 만들어야합니다