2011-05-16 13 views
5

Bir e-posta gönderen bir CakePHP Shell Komut Dosyası var. Bu betik bir CakePHP eklentisinde (foo) bulunur.Bir CakePHP Eklentisinden bir E-posta Şablonunu Kullanma

Çalışmaz

$this->Email->template = "foo/email_template_name"; 

olarak E-posta Şablonu ayarlanması, e-posta, başarıyla gönderir ancak e-posta sadece

Not Found: /path_to_app/app/views/elements/email/html/foo/email_template_name.ctp 

Ben şablon doğru adlandırılır ve var olmadığını doğruladıktan söylüyor.

Minör Notlar:

$this->Email->sendAs = "both"; 

şablon doğru çalışır /path_to_app/app/views/elements/email/html/foo/email_template_name.ctp taşınırsa. Ancak, eklenti içindeki şablonlar dahil olmak üzere kendinden emin bir e-posta olarak mümkün olduğunca bu kadar gemi göndermeyi umuyordum.

cevap

1

Lütfen bu kodu $ this-> Email için yazınız.

Kontrol:

$this->Email->sendAs = 'html'; 

mı tekrar yolunu kontrol

/path_to_app/app/views/elements/email/html/email_template_name.ctp 
+0

teşekkür doğrulandı. –

1

için

$this->Email->template = "email_template_name"; 

ve şablonu hareketli çalıştı!

Aynı sorunla karşı karşıya ettik ve ben benim şablon yerleştirilir olduğunu fark: /path_to_app/app/plugins/my_plugin_name/views/elements/email/my_template.ctp

Ama doğru yol: /path_to_app/app/plugins/my_plugin_name/views/elements/email/html/my_template.ctp

Ben 'html' değerini olarak kullanıyorum yana benim Kontrolör

$this->Email->sendAs = 'html';

+0

Hangi cakephp sürümünü kullanıyorsunuz? – snowflake

+0

Sanırım 1.3.8'de. Hangi sıkıntılarla uğraşıyorsun? Şu anda 2.0 çalışıyor, ancak henüz e-posta göndermeye başlamadım :) – colares

+0

Bu cakephp colares tarafından önerilen yol ile çalıştı 1.3.11 – fullybaked

4

CakeEmail'e Eklentinin adını söylemeniz gerekir. (Kek 2.0.x) Model

$email = new CakeEmail(); 
$email->template('Foo.email_template_name'); 

veya Kontrolör olarak

$this->email->template('Foo.email_template_name'); 

e-posta için görünümler oluşturmak gerekir: her şeye sahip evet, yanıtı Mike için

Plugin/Foo/View/Emails/html/email_template_name.ctp 
Plugin/Foo/View/Emails/text/email_template_name.ctp 
+0

Bu benim için çalıştı. Kek, dosyamın olmadığı zaman kayıp olduğunu söylüyordu. Çözüm, şablonumun adını eklenti adıyla öneklemekti. –