2011-06-14 151 views
4

我正在尋找一種在CakePHP中創建管理員部分的最佳方法。我看過像BrowniePHP和其他的插件,但我對使用插件並不完全滿意。所以我試圖創造我自己的將包含我需要的東西。我看過一些教程,但找不到正確的答案。CakePHP - 創建管理部分的最佳方法是什麼

我目前正在創建一個龐大的應用程序,這是大約10%完成,但我現在覺得需要有一個管理部分,然後繼續前進。

基本上我想要一個部分,我可以添加新文章,批准評論,拒絕用戶訪問等。本部分只能由管理員訪問。

此外,此管理員部分必須能夠保存到任何其他模型。

我仍然在學習CakePHP,希望瞭解任何詳細的指令。

回答

5

要創建管理員部分,首先要做的是手動編輯中的core.php並寫入設置Routing.prefixes。這條線應該在88線附近,你只需要取消註釋。
在你找不到它的情況下,它應該是這樣的:

Configure::write('Routing.prefixes', array('admin')); 

所以,現在您可以在控制器中寫你的管理函數是這樣的:

function admin_edit($id = null) { 
    //your admin function 
} 

你不自從您在控制器中編寫這些函數(如其他「正常」操作)之後,需要訪問每個模型。

你只需要連接的路由處理管理 - 操作:

Router::connect('/admin/:controller/:action/*', array('admin' => true, 'prefix' => 'admin', 'controller' => 'pages')); 
// 'admin' => true is a variable for you so you can check if it's an admin-action which is requested 
// 'prefix' => 'admin' means that you can write function with this prefix like above 

然後,您可以通過URL http://yourapp.com/admin/controller/action

訪問這些行動如果你現在使用的Auth-Component你可以寫的方法檢查用戶是否被允許訪問這些方法。

欲瞭解更多信息,請閱讀這些手動entrys:

Prefix-Routing
Authentication (Auth-Component)

+0

我已經啓用了Routing.prefixes,並且已經爲ie設置了一些操作。 admin_edit等。我只是無法看到如何將所有內容都實現到一個管理部分。然而,現在它變得更有意義,我將以這種方式接近它。我想我必須做的是讓每個admin_xxxx操作都使用管理佈局,在那裏我可以鏈接到不同的控制器等。希望我能使它工作,因爲這是我學習CakePHP時唯一的呃逆。迄今爲止,其他一切都非常順利和壯觀。 – 2011-06-14 19:55:18

0

這是一個很好的article。您可能對thesethese的答案感興趣。

+0

將控制器專用爲管理員是否有意義,例如具有自己的admin_users表和自己的操作的管理員控制器? – 2011-06-14 14:56:53

+0

我不認爲這是一個好主意。 1)http://programmers.stackexchange。com/questions/79925/cakephp-admin-panel-different-controller-for-different-group-of-tasks-or-one-for,2)http://cakephp.1045679.n5.nabble.com/Admin-控制器 - td1330414.html – bancer 2011-06-14 15:13:34

相關問題