

メールの中で`<?php echo $this->Html->Link() ?>`を使いたいのですが、どこでHelperを読み込ませたら良いのでしょうか。


CC BY-SA 3.0
2015-02-17T00:57:04.087
6599
2015-07-17T05:19:09.990
2015-02-17T01:53:24.920
7978
7339
question
php cakephp
CakePHPのメール内でhtmlHelperを使う方法


CakePHP のバージョンによってやり方が違うので注意してください。  
以下は CakePHP 2.x の場合です。

CakeEmail クラスには以下のメソッドがあります。  
[CakeEmail::helpers()](http://api.cakephp.org/2.6/class-
CakeEmail.html#_helpers)  
これによって、メール本文の .ctp ファイルでヘルパー群を使用することが可能になります。  
以下は一例です。

[code]

    App::uses( 'CakeEmail', 'Network/Email' );
    $mail_address = 'example@example.com';
    $cakeEmail = new CakeEmail();
    $mailResponse = $email->config( 'default' )
    ->helpers( 'Html' ) // ← HTML ヘルパを読み込ませる
    ->viewVars( array('address'=>$mail_address) )
    ->to( $mail_address );
    
    try
    {
        $cakeEmail->send();
    }
    catch( Exception $e )
    {
        // 例外処理
    }
    
[/code]


CC BY-SA 3.0
2015-02-17T01:43:33.860
6605
2015-02-17T02:00:31.213
2015-02-17T02:00:31.213
7926
7926
6599
answer