2013-06-04 89 views
0

我正在按照the book中的說明爲我的cakePHP 2.x應用程序編寫一個基本插件。CakePHP插件拋出「Missing View」錯誤,但查看文件退出

我用MyPluginAppController.php和MyPluginAppModel.php創建了目錄/文件結構。

我將CakePlugin::load('MyPlugin');添加到父應用的bootstrap.php文件。

然後我創建了一個Controller和Model。但由於某種原因,當我嘗試查看mysite.dev/(admin)/my_plugin/my_model/時,出現「Missing View」錯誤。它說確認視圖文件存在,它確實存在!

我不認爲我跳過書中的任何步驟。我究竟做錯了什麼?

更新:

控制器路徑:app/Plugin/MyPlugin/Controller/MyModelController.php

查看路徑:app/Plugin/MyPlugin/View/MyModel/admin_index.php

網址:http://mysite.dev/admin/my_plugin/my_model/

+0

什麼是控制器的路徑,以及您的插件中的視圖文件的路徑是什麼?我有預感,但首先需要更多細節。 –

+0

我用請求的信息更新了問題。 – emersonthis

回答

4

此文件重命名

app/Plugin/MyPlugin/View/MyModel/admin_index.php 

對此擴展.ctp

app/Plugin/MyPlugin/View/MyModel/admin_index.ctp 

這是一個常見的錯誤。

+1

Zoinks !!!!!!!!! – emersonthis

0

我沒有使用插件,所以我的情況有點不同。然而,這個問題出現在搜索結果頁面上,所以我會在這裏發佈。

這是有問題的控制器。

<?php 

class ArticlesController extends AppController { 

    public function beforeFilter() { 
    } 

    public function view() { 
     // do stuff 
    } 

} 

問題:

CakePHP的不停向我展示了以下錯誤:

Missing View

Error: The view for ArticlesController::view() was not found.

Confirm you have created the file: Articles/view.ctp in one of the following paths:

調試:

我檢查使用is_readable()stat命令以確保所有建議的路徑該視圖文件存在並且確實可以被PHP讀取。

解決方法:

的問題是有一個空beforeFilter()。只要我刪除它,一切工作。