2012-09-03 2 views
0

사용자 등록 후 보낸 확인 이메일이 있습니다. 이제 관리자가이 이메일을 맞춤 설정하고 콘텐츠를 변경할 수 있기를 바랍니다. etc (하드 코드하고 싶지는 않음)PHP 전자 메일 템플릿에 단축 코드를 포함하는 방법

그러나 여기 생성 된 활성화 링크가 문제입니다. 이메일 내용을 데이터베이스에 저장할 수 있다고 생각했습니다. 문제는 활성화 링크, 사이트 이름 등과 같이 전자 메일에 반드시 추가해야하는 동적 요소입니다.

이걸 수행하는 가장 좋은 방법은 무엇인가요? 나는 워드 프레스처럼 소위 말하는 '단축 코드'를 추가한다고 생각합니다. 이것에 대한 청사진과 그것을 통합하는 방법은 무엇입니까?

답변

3

검색을 기반으로하는 간단한 템플릿 시스템을 사용하여 해결할 수 있습니다. &; 짧은 예제와 함께 아주 기본적인 것을 포함했습니다. 희망이 당신을 도와줍니다 :)

class EmailTemplate 
{ 
     private $body; 

     public function __construct($template) 
     { 
       $this->body = $template; 
     } 

     public function render($context) 
     { 
       return preg_replace_callback('/%{(.*?)}%/', function($v) use ($context) { 
         return isset($context[$v[1]]) ? $context[$v[1]] : ''; 
       }, $this->body); 
     } 
} 

$tpl = new EmailTemplate(<<<EOM 
Hello %{user}%, 

How are you doing. This is your link: 

%{link}% 

See ya! 

EOM 
); 

echo $tpl->render(array(
     'user' => 'world', 
     'link' => 'http://www.php.net/', 
)); 
+0

아주 좋은, 고마워요 :) –

관련 문제