2012-06-19 40 views
5

Tôi đang cố gắng gửi email từ CakePHP 2.1.2 thông qua bảng điều khiển shell (cuối cùng là một công việc định kỳ). Giao diện tôi đang gửi là lịch có các liên kết quay lại trang web của ứng dụng. Vấn đề tôi tìm thấy là các url không bao gồm đường dẫn chính xác và từ những gì tôi đã đọc nó là bởi vì không có đối tượng yêu cầu kể từ khi tôi đang sử dụng giao diện điều khiển. Ví dụ, nếu tôi có thể tạo khung nhìn trong trình duyệt của tôi tôi nhận được liên kết như thế này:Tạo url đầy đủ từ CakePHP 2.1.2 Console Shell

http://localhost/ReportMonitor/scheduledReports/index/show_date:2012-06-10/result:GOOD 

nhưng trong email bằng cách sử dụng cùng một mã tôi có được điều này:

http://localhost/scheduledReports/index/show_date:2012-06-10/result:GOOD 

mà gần, nhưng không có điếu xì gà .

Tôi đã cố gắng tìm ra toàn cầu mà tôi có thể đặt ở đâu đó để chỉ mã cứng thư mục con ứng dụng nhưng chưa tìm thấy bất kỳ thứ gì hoạt động. Các liên kết được thực hiện bởi một mã như thế này:

$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')); 

tôi sẽ nghĩ rằng đây là một chức năng thông thường (gửi url hợp lệ trong giao diện điều khiển tạo email) nhưng tôi chỉ không thể tìm nó ra.

Cảm ơn

Trả lời

3

Sử dụng tùy chọn full_base trong các liên kết

echo $this->Html->link(array(
    'controller' => 'posts', 'action' => 'index', 'full_base' => true 
)); 

và thiết lập FULL_BASE_URL liên tục trong bootstrap.php để bạn căn cứ-url:

define('FULL_BASE_URL', 'http://www.domain.com/subdir'); 

Nếu bạn đang sử dụng các tuyến đường cho bạn ứng dụng, bạn cần phải bao gồm định tuyến trong vỏ của mình:

App::uses('Router', 'Routing'); 
config('routes'); 
+1

Điều này có thể hữu ích http://stackoverflow.com/a/13660262/1868660 –

Các vấn đề liên quan