2013-10-28 2 views
0

이메일을 보내는 Sonata Admin Bundle을 사용하여 사용자 지정 일괄 처리 작업을 만들려고합니다.소나타 관리자 - 메일러에 액세스

문제는 swiftmailer에 액세스하는 방법을 모르겠습니다. 나는 다음과 같은 한 나의 실체에

public function batchActionSend(ProxyQueryInterface $selectedModelQuery) 
{ 
    if($this->admin->isGranted('EDIT')=== false) { 
     throw new AccessDeniedException(); 
    } 

    $request = $this->get('request'); 
    $modelManager = $this->admin->getModelManager(); 

    $selectedModels = $selectedModelQuery->execute(); 

    try { 
     foreach ($selectedModels as $selectedModel) { 
      // send the email here? 
      $selectedModel->send(); 
      $modelManager->update($selectedModel); 
     } 
    } catch (\Exception $e) { 
     $this->get('session')->getFlashBag()->add('sonata_flash_error', $e->getMessage()); 

     return new RedirectResponse($this->admin->generateUrl('list',$this->admin->getFilterParameters())); 
    } 

    $this->get('session')->getFlashBag()->add('sonata_flash_success', sprintf('The selected requests have been sent')); 

    return new RedirectResponse($this->admin->generateUrl('list',$this->admin->getFilterParameters())); 

:

public function send() 
{ 
    // send email here? 
} 

메일러에 액세스 할 수있는 가장 좋은 방법은 무엇입니까 나는 다음 있나요? Admin 클래스를 통해 또는 Entity를 통해 또는 서비스를 통해?

감사

답변

관련 문제