CakePHP 1.3.4: EmailComponent hatası - Tanımsız özellik: EmailComponent :: $ Controller [kapalı]

0 Cevap cakephp

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.

0 Cevap