2013-03-16 75 views
1

即時通訊使用的蛋糕有一段時間沒有找到,現在我有一個稍微修改過的頁面控制器,我想在我的default.thtml中使用它,我致命錯誤:類「PagesController」在

App::uses('PagesController', 'Controller'); 
導入

App::import('Controller', 'Pages'); 

在我的本地XAMPP都工作,既不openshift Web服務器。 無論我做什麼,我得到致命的錯誤,沒有找到類。一直在使用這個問題2個小時,並感覺我在這裏打牆。請幫助:)

回答

0

我會盡量避免這些調用並使用CakePHP約定。本地XAMPP副本和OpenShift副本之間的區別可能是由於運行了不同版本的CakePHP,但如果遵循約定,則這並不重要。

最好的做法是將所有使用PagesController的東西放在foler app/View/Pages中。 CakePHP處理所有導入,需求,路由等。除此之外,請記住OpenShift中的應用程序路徑是/ php/app /(而不是XAMPP/app /)。我想這可能會導致問題,如果你有自定義控制器。希望這可以幫助!

編輯:我剛剛意識到,通過default.ctp,你的意思是佈局文件。我個人不喜歡在佈局中調用控制器。我更喜歡使用這些元素或助手。此外,PagesController實際上並不意味着被包含在整個站點的佈局中。它只是用於/ app/View/Pages文件夾中的文件。

+0

它在這裏工作,我想它的每一頁上,所以基本上我要補充它無論如何佈局:| – 2013-03-16 19:44:09

+0

作爲後續工作,請查看助手文檔,看看它是否可以處理您需要的邏輯。 http://book.cakephp.org/2.0/en/views/helpers.html – Steven 2013-03-16 19:44:58

0

好的,我用requestAction代替,並且這個工作。 :) 解決類似的問題,使用讓我們說$ pages = $ this-> requestAction('pages /');

然後'foreach'$ pages數組,只要你需要。 重要!在你的控制器的創建頁面的函數中(在這種情況下,控制器頁面控制器和函數'索引')不要忘記返回$ pages對象你寫作,而不是像通常那樣'設置'。 :)