2011-08-13 91 views
0

試圖讓CakePHP的子文件夾的控制器,視圖,或者模型的工作是不是真正的工作,並從我讀過,我需要使用「插件」。現在,我有以下文件夾結構:CakePHP的2.0插件URL

/app/Plugin/Manager/ 
    /Controller 
     CandyController.php 
    /Models 
    /View 
     /Candy 
      viewCandy.ctp 
    ManagerAppController.php 
    ManagerAppModel.php 

當我嘗試和我的網址設置爲:http://localhost/Manager/Candy/viewCandy/123。我收到錯誤消息:「ManagerController不存在」。爲什麼CakePHP沒有看到它應該在Manager插件文件夾中看起來?

+1

就是答案。編輯/app/config/routes.php並添加以下行:CakePlugin :: load(array('Manager')); – MikeMurko

+0

是的,我也注意到CakePHP 2.0不會自動加載插件,並允許您有選擇地加載它們。你應該把這個作爲你自己問題的答案並接受它 - 你甚至可以得到「自我學習者」徽章。 – deizel

+1

謝謝deizel。完成。 – MikeMurko

回答

5

現在2.0已經發布的文檔被充實多一點。這在Plugin section of the cookbook中描述。

他們建議把這個在bootstrap.php中而不是routes.php文件:有趣的是這裏

CakePlugin::loadAll(); // Loads all plugins at once 
CakePlugin::load('ContactManager'); //Loads a single plugin 
+0

已切換答案。感謝您保持更新 – MikeMurko

4

這裏是解決方案:

轉到/app/Config/routes.php而行CakePlugin::routes();之後加入該行CakePlugin::load(array('YourPluginName'));。在我的情況下,它是線40

基本上CakePHP的2.0不會自動加載插件。我認爲這很好,並且很棒,但是沒有真正的文件。

+1

插件應該加載在Config/bootstrap.php文件中,而不是Config/routes.php。 – LeandroCR