문제

나는 이메일에 필요한 다양한 비트를 만들고 다음을 사용하여 Symfony 1.4 메일러를 사용하고 있습니다.

$this->getMailer()->composeAndSend($sender, $recipient, $subject, $body);

이메일 본문에서는 작업에서 생성 된 변수를 활용할 수 있어야하므로 지금은 내 행동에이를 가질 수 있습니다.

$body = 'Your username is '.$username.' and this is the email body.';

누구든지 다양한 이메일 본문을 저장/정리하는 우아한 방법을 알고 있습니까? 나는 많은 이메일 템플릿을 가지고 있으며 여러 언어로도 제공 할 것입니다.

나는 이것에 대해 논의하는 오래된 Askeet 튜토리얼을 발견했지만 Swiftmailer의 새로운 Symfony 1.4 통합과는 다소 오래된 것 같습니다.

고맙습니다.

도움이 되었습니까?

해결책

이메일 본문을 템플릿 파일로 저장하고 sfPartialView. 예를 들어 행동 내부 :

$view = new sfPartialView($this->getContext(), $this->getModuleName(), $this->getActionName(), 'confirmation_mail');
$view->setTemplate('_confirmation_mail.php');

// values can be set e.g. by setAttibute
$view->setAttribute('name', $name);

$body = $view->render()

바디 템플릿은 모듈의 템플릿 폴더에 있지만 어떻게 든 이것을 변경할 수 있고 예를 들어 모든 이메일 템플릿을 원한다면 하나의 폴더에 넣을 수 있다고 확신합니다.

다른 팁

SFACTION 내부에서 사용할 수있는 기본 방법을 사용하는 것은 어떻습니까?

$ this-> getPartial ( 'partial_name'); 템플릿을위한 부분 도우미처럼 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top