2011-03-26 64 views
0

我試圖創建一個iCal的文件。CakePHP的路由器:: parseExtensions(「芯片」)不能正常工作

所以我在router.php設置Router::parseExtensions('ics')
我創建了一個文件夾icsapp/views/layoutsdefault.ctp與此內容

<?php 
    header('Content-Type: text/calendar'); 
    echo $content_for_layout; 
?> 

在我reservationsController我創建了一個ical()行動,並在/app/views/reservations/ics/創建ical.ctp

所以,如果我試圖訪問http://localhost/reservations/ical/1.ics我得到一個錯誤:

Error: The view for ReservationsController::ical() was not found. 

Error: Confirm you have created the file: C:\xampp\htdocs\ers\app\views\reservations\ical.ctp 

所以我對錯誤消息有些混亂。爲什麼它搜索ical.ctpapp\views\reservations\而不是app\views\reservations\ics\

當我在使用其他擴展像.xml錯誤消息是這樣的:

Error: Confirm you have created the file: C:\xampp\htdocs\ers\app\views\reservations\xml\ical.ctp 

爲什麼XML工作和ICS不?什麼地方出了錯?

回答

5

我剛剛完成自己處理這種情況。我一直在試圖獲得一個csv擴展名顯示,並且我也收到了「缺少的視圖」錯誤。

一切都到位;我設置了我的/app/views/layouts/csv/default.ctp/app/views/users/csv/export.ctp視圖文件。我的Router::parseExtensions('csv');位於我的/app/config/routes.php文件的頂部。

事實證明,我已經忘了是在RequestHandler組件添加到我的控制器的組件陣列:var $components = array('RequestHandler');

一旦我做到了一切都工作正常。

所以,如果你已經在這個問題絆倒,因爲你有同樣的問題,檢查以確保你裝載RequestHandler組件修復你的東西...