CakePHP 1.3.4 üzerinde çalışan benim web sitesi için bir davetiye sistemi geliştirmek için çalışıyorum.
Ben bir e-posta göndermek için EmailComponent inşa kullanmaya çalışıyorum. Ben bu hatayı (genişletilmiş) alıyorum:
Notice (8): Undefined property: EmailComponent::$Controller [CORE/cake/libs/controller/components/email.php, line 428] Code | Context */ function _render($content) { $viewClass = $this->Controller->view; $content = array( "", "" ) EmailComponent::_render() - CORE/cake/libs/controller/components/email.php, line 428 EmailComponent::send() - CORE/cake/libs/controller/components/email.php, line 368 UsersController::send_quick_add_email() - APP/controllers/users_controller.php, line 77 UsersController::quick_add() - APP/controllers/users_controller.php, line 104 SinglesResultsController::quick_add() - APP/controllers/singles_results_controller.php, line 63 Dispatcher::_invoke() - CORE/cake/dispatcher.php, line 204 Dispatcher::dispatch() - CORE/cake/dispatcher.php, line 171 [main] - APP/webroot/index.php, line 83
Ben de gerekirse ben genişleyebileceği, aşağıdaki olsun:
Notice (8): Trying to get property of non-object [CORE/cake/libs/controller/components/email.php, line 428] Notice (8): Undefined property: EmailComponent::$Controller [CORE/cake/libs/controller/components/email.php, line 433] Notice (8): Trying to get property of non-object [CORE/cake/libs/controller/components/email.php, line 433] Notice (8): Undefined property: View::$webroot [CORE/cake/libs/view/view.php, line 805] Warning (2): Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/cake/cake/libs/debugger.php:673) [CORE/cake/libs/controller/controller.php, line 746]
Ben EmailComponent nesne çağrılan ediliyor denetleyicisi için bir referans tutar düşünüyorum. Bu durumda tanımsız yüzden bilmiyorum. İşte ($ için çağrı özellikle, bu hataları bu-> E-> send ()) başarısız kodu:
function send_quick_add_email($email)
{
if($email)
{
$this->Email->reset();
$this->Email->to = $email;
$this->Email->subject = 'Some subject text';
$this->Email->from = 'not@example.com';
$this->Email->template = 'email_template';
$this->set('user', $user);
$this->set('token', $token);
$this->Email->delivery = 'debug';
$this->Email->send();
}
}
Ok, for more clarification: The main data I am collecting on the site is results of a game played in meatspace. SinglesResultsController has an action, quick_add, which expects email addresses of people not already registered on the site. If the email addresses aren't associated with Users, UsersController::quick_add is called, which creates an inactive user, and sends an invitation email in UsersController::send_quick_add_email()
Ben sorunun e-posta (SinglesResultsController) başlatıldı ilk denetleyicisi gönderilen olmadığı gerçeği ile ilgili olduğunu düşünüyorum.
O iş yapmak konusunda herhangi bir düşünce? E-posta bileşeni hem Kontrolörleri üstünde ilan edilir.