模板視圖(普通頁面而言) 佈局電子郵件作爲佈局視圖(普通頁面的條款)
佈局中應包含的標誌和等
你一些共同的要素可以將數據推送到模板像推送數據從控制器以查看
請檢查下面的例子:
從定製EmailComponent
public function restore_password($user_to_send_restore_link) {
$email = new CakeEmail('default');
$email->emailFormat('both');
$email->template('restore_password', 'emaillayout');
$email->to(array($user_to_send_restore_link['User']['email']));
$email->from(array(GENERAL_FROM_EMAIL => 'seqrd support team'));
$subject = 'Restore password link';
$email->subject($subject);
$email_data = array(
'hash' => $user_to_send_restore_link['User']['hash']);
$email->viewVars($email_data);
return $email->send();
}
應用程序/查看/電子郵件/ HTML/restore_password.ctp
<p> Please, follow link <?php echo $this->Html->link('restore password link', Router::url(array('controller' => 'users', 'action' => 'restore_password_form', $hash), true)); ?> to restore password</p>
應用程序/瀏覽/設計/電子郵件/ HTML/emaillayout.ctp
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title><?php echo $title_for_layout;?></title>
</head>
<body>
<?php echo $this->fetch('content');?>
</body>
</html>
主題是抽象的下一步,那麼您可以快速更改所有電子郵件的整個樣式,但不能顯着更改代碼。
注:viewVars
方法傳遞變量不僅爲模板,但在電子郵件的佈局了。
不要使用Email-Component,直接使用CakeEmail更好。不,模板/佈局不是必需的。您也可以發送無模板電子郵件。 – mark
Uups ...我的錯誤使用CakeEmail類 - 將更新。 –