Estoy intentando enviar un correo electrónico desde CakePHP 2.1.2 a través del shell de consola (eventualmente mediante un trabajo cron). La vista que estoy enviando es un calendario con enlaces a la página web de las aplicaciones. El problema que estoy encontrando es que las URL no incluyen la ruta correcta y por lo que he leído es porque no hay un objeto de solicitud porque estoy usando la consola. Por ejemplo, si se crea la vista en mi navegador consigo enlaces de esta manera:Crear URL completa desde CakePHP 2.1.2 Consola Shell
http://localhost/ReportMonitor/scheduledReports/index/show_date:2012-06-10/result:GOOD
pero en el correo electrónico utilizando el mismo código me sale esto:
http://localhost/scheduledReports/index/show_date:2012-06-10/result:GOOD
que está cerca, pero no puro .
He estado tratando de encontrar el global que puedo establecer en algún lugar para codificar solo el subdirectorio de la aplicación pero no he encontrado nada que funcione todavía. Los enlaces se hacen por un código como el siguiente:
$newUrl = array();
$newUrl['controller'] = 'scheduledReports';
$newUrl['action'] = 'index';
$newUrl['url'] = array();
foreach ($data as $key => $value) {
$newUrl['show_date'] = "$year-$month-$key";
$newUrl['result'] = 'GOOD';
$data[$key]['num_complete'] = $this->Html->link(__('Complete: ') . $value['num_complete'], Router::reverse($newUrl, true), array('class' => 'green'));
yo creo que esto es una función común (el envío de URL válidas en la consola generada correo electrónico), pero simplemente no pueden entenderlo.
Gracias
Esto puede ser útil http://stackoverflow.com/a/13660262/1868660 –