読者です 読者をやめる 読者になる 読者になる

Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

CakeMailでWebrootがUndefined Propertyになる件

cakephpコンポーネントでCakeMailというのがあるのですが、今それを使わせて頂いてHTMLメール作ってます。


で、コメント欄でも困っているヒトがいたのですが、CakeMailをそのまま使うと、

Debug: Notice (8): Undefined property: View::$webroot in [CORE\cake\libs\view\view.php, line 751]

みたいなエラーが出ます。

これはCakeMailがrenderElementする時に、webrootっていうプロパティで定義されたhelperがねーよって怒っている時にでるエラーのようです。

とりあえずこれだけ回避したいのであれば、CakemailのsetBodyメソッドのこの部分。

<?php
$body = $view->renderElement($this->setDir . DS . $this->setType . DS . 
                               $view_name, array('content' => $content ), 
                                 true);

この第3引数のtrueをfalseに変更すれば、エラーは出なくなります。

helperはLayoutがloadしてくれるはずだから読み込まなくてもいいと思われるので、ここはfalse指定でおkかと。