CakePHPを使っての開発案件で
Emailコンポーネントを使用する機会があったのですが
付属のEmailコンポーネントではViewの分離が今一つ。
と言うのも、今使用しているCakePHP1.3.6では
テンプレート、レイアウトをメール本文に使用することはできるけど
問い合わせフォームの返信メールのように
決まった箇所に個別の変数を割り当てることができない。
そこで、こんな感じでメールが送れるようにカスタマイズしてみた。
コントローラで
$this->MyEmail->send(array( 'name' => $this->data['Inquiry']['name'], 'ruby' => $this->data['Inquiry']['ruby'], 'tel' => $this->data['Inquiry']['tel'], 'mail' => $this->data['Inquiry']['mail'], 'msg' => $this->data['Inquiry']['msg'], ), 'inquiries_template', 'inquiries_layout');
と書いて、テンプレートで
■ 氏名 <?php echo $name; ?> ■ フリガナ <?php echo $ruby; ?> ■ 電話 <?php echo $tel; ?> ■ メールアドレス <?php echo $mail; ?> ■ 内容 <?php echo $msg; ?>
とすれば該当する変数が置き換わるというもの。
これでViewの分離を保てるのでメールテンプレートの編集も
FTPが使える人なら少しやり方を教えるだけで大丈夫。
0 件のコメント:
コメントを投稿