Hey Brian, Thanks for answering.
die($content) returns the message, in pristine condition : ) die($View->layoutPath) returns the correct path, email/text die($View->renderLayout($content)) oddly returns: Fatal error: Call to a member function entity() on a non-object in (...)/cake/libs/view/helper.php on line 339 I'm not sure where to go from there. I can't find any calls to this method anywere in either the EmailComponent or the View class. And I checked the debug level in that line, it'ss 2. Going deeper, it's as if the debug_backtrace() call in debug() goes into infinite recursion or something, so PHP just gives up and returns nothing. Thanks again, Bruno On Oct 9, 1:18 pm, brian <bally.z...@gmail.com> wrote: > On Fri, Oct 9, 2009 at 1:02 AM, Bruno Bergher <bruno.berg...@gmail.com> wrote: > > > Hi there, > > > Summary: when using EmailComponent I bump into a strange problem in > > the View class. Using CakePHP 1.3.0.0. > > > I'm using EmailComponent in a very standard way. In my controller I > > have: > > > $this->Email->to = 's...@email.com'; > > $this->Email->from = 'some.ot...@email.com'; > > $this->Email->subject = 'Message Subject'; > > $this->Email->template = 'template_name'; // under views/elements/ > > email/text/template_name.ctp > > $this->Email->sendAs = 'text' ; > > $this->Email->send(); > > > The template exists and is just plain text, no special characters. > > > This leads to a blank page, regardless of the E_ALL error reporting > > level. > > > So I go down into the Email component class, adding die("here") calls > > and find out it fails on line 461: > > > $content = explode("\n", str_replace(array("\r\n", "\r"), "\n", $View- > >>renderLayout($content))); > > > Now I go to $View->renderLayout() and add the same die("here") calls > > there, and realize the problem is actually happening right before line > > 747, which is odd, because it's just: > > > return $out; > > So renderLayout() is probably fine. If you add: > > die($View->renderLayout($content)); > > just before line 461 in the component, what do you get? > > Other things to check around that line: > > $content -- before the explode() call > $View->layoutPath > > > > > The thing is that if I do debug($out) right before 747, it outputs the > > message perfectly, but in the normal flow of the class, it just breaks > > and returns me a blank screen after some 5 seconds hanging, with no > > error neither on the screen or the logs. > > > I tried everything and have absolutely no idea what to do from here. I > > fiddled with all the parameters, renamed the template, changed it's > > content, nothing works. It only works when I remove the $this->Email- > >>template line and do like $this->Email->send('any text), but that's > > no good, obviously. > > > One more curious thing: if above view.php:498 I add > > debug($data_for_layout); > > it fails in the exact same way (the request hangs for some 5 seconds > > and returns blank), but if I try > > pr($data_for_layout); > > it prints it's contents perfectly. Just thought this could be useful. > > That's likely just because debug has been set to 0 before that. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---