CakeEmail ошибочно сообщает, что шаблон отсутствует при использовании тем

У меня есть контроллер QuickContacts с действием add() который использует CakeEmail отправить сообщение, вот так:

$Email = new CakeEmail();
$Email->from(array('noreply@xyz' => 'xyz'));
$Email->to(($this->isBranded) ? $this->brandedAccount['BrandedAccount']['contact_us_email'] : EMAIL_TO_MAIL_ADDRESS);
$Email->subject(EMAIL_QUICK_CONTACTS_SUBJECT);
$Email->emailFormat('html')->template('add', 'default');
$Email->message($this->request->data);

$Email->send();

Когда я пытаюсь отправить письмо, я получаю сообщение об ошибке, указывающее, что файл представления не существует:

Missing View
Error: The view for QuickContactsController::add() was not found.

Confirm you have created the file: Emails/html/add.ctp  in one of the following paths:

/var/www/html/mysite/app/View/Themed/Xyz/Emails/html/add.ctp

Я, конечно, могу подтвердить, что эти файлы существуют, но по какой-то причине CakePHP все еще не может их найти, и я не могу понять, почему это может происходить. Может кто-то указать мне верное направление?

2

Решение

Вы должны явно установить тему в CakeEmail:

$Email->theme('xyz')

как описано в Cookboox 2.x: Отправка шаблонных писем.

Сообщение об ошибке указывает вам правильный путь, но CakePHP ищет ваш файл в:

/app/Emails/html/add.ctp

Это может быть связано с ошибкой.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]