Buenas,
En mi estructura de código, tengo que enviar correos, pero resulta que esta función se encuentra fuera de la logca del site.
os explico:
mi site envía correos cuando se ejecutan ciertas acciones.
en las que está fallando es cuando se ejecuta en el "preload"
Cuando se carga la web, necesito que ciertas funciones se ejecuten antes que todo, dentro de estas hay la posibilidad de enviar correos, esta funcion de enviar correos hace renders partials:
public function plainEmail($to, $replyTo = '', $subject, $message){ // $to, $from, $subject, $message
$template = '_plainEmail';
$body = Yii::app()->controller->renderPartial($this->pathViews.'.'.$template, array('message' => $message), true);
//echo $body;
$this->_SendEmail($to, $replyTo, $subject, $body);
}
Cual es el problema??
Pues, resulta que este código tal como está, si se ejecuta desde el "preload", salta un error de que no se puede ejecutar "renderPartial" puesto que no encuentra controller.
Mi solución, para salir del paso, ha sido que la class "mail" extienda "CController", y usar:
$this->renderParial(....)
personalmente no me gusta la solución, hay alguna otra que se les pueda ocurrir??
usar de algo que no sea el preload???
Gracias!!!
(perdon por el tocho)