Próbuję wysłać wiadomość e-mail z CakePHP 2.1.2 przez powłokę konsoli (ewentualnie przez zadanie cron). Widok, który wysyłam, to kalendarz z odsyłaczami do strony internetowej aplikacji. Problem, który znajduję, polega na tym, że adresy URL nie zawierają poprawnej ścieżki, a z tego, co przeczytałem, wynika, że nie ma obiektu żądania, ponieważ używam konsoli. Na przykład, jeśli utworzyć widok w przeglądarce dostaję linki tak:Tworzenie pełnego adresu URL z CakePHP 2.1.2 Powłoka konsoli
http://localhost/ReportMonitor/scheduledReports/index/show_date:2012-06-10/result:GOOD
ale w e-mailu z użyciem tego samego kodu otrzymuję to:
http://localhost/scheduledReports/index/show_date:2012-06-10/result:GOOD
który jest blisko, ale nie cygaro .
Próbowałem znaleźć globalny, że mogę ustawić gdzieś tylko twardy kod podkatalogu aplikacji, ale nie znalazłem niczego, co działa jeszcze. Linki są wykonane za pomocą kodu tak:
$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'));
bym, że to jest wspólny funkcji (wysyłanie prawidłowych adresów URL w konsoli wygenerowany e-mail), ale po prostu nie mogę zrozumieć.
Dzięki
Może to być pomocne http://stackoverflow.com/a/13660262/1868660 –