2016-04-22 3 views
1

電子メールテンプレートにオブジェクトデータを渡すには? オブジェクトデータ:CakePHP 3 - 電子メールテンプレートにオブジェクトデータを渡す方法

object(App\Model\Entity\NewsletterTemplate) { 

     'id' => (int) 1, 
     'title' => 'Newsletter 1', 
     'publish' => '21.04.2016', 
     'box_title1' => 'Aenean id erat ut leo semper viverra', 
     'box_text1' => 'Integer eu orci viverra', 
... 
    } 

Eメール機能:

private function _send_mail($data,$user,$sender) 
{ 
$email = new Email('default'); 
$email->template('newsletter_template','newsletter_body') 
->emailFormat('html') 
->subject('Newsletter') 
->to($user) 
->from([$sender => 'Some Name']) 
->viewVars($data) 
->send(); 
} 

(Eメールのテンプレートnewsletter_template.ctp)私はこれを試してみましたが、それは動作しません:として

... 
         <td class="mcnTextContent mcnTextContentLeft" style="padding-top:0; padding-left:18px; padding-bottom:9px; padding-right:18px;" valign="top">      
          <?php echo $title; ?>, <?php echo $publish; ?> 
... 
         </td> 
+0

は「_doesn't work_」適切な問題の説明ではありません、このメソッドを使用してエンティティ全体を渡すことができます!問題がCakePHPの内部を知っている人にとって明らかであっても、_exactly_が何を起しているか、そして何が起こるかについて常に可能な限り具体的にしてください。作業中のデータ、コンテキスト、デバッグの試行、エラーの可能性を表示します。多くの場合、これらの情報を収集するときに問題が解決されます。 – ndm

答えて

4

manualレポート

このように電子メールビュー変数を設定することができます。

もちろんの
$email->viewVars([ 
    'title' => $title, 
    'publish' => $publish 
]); 

あなたはあまりにも

+0

ありがとう!できます。 – user3661042

関連する問題