2013-11-01 74 views
0

我想在我的一個CakePHP項目中創建一個「管理面板/界面」。你知道它在現代網站中很常見。起初,我計劃爲此創建一個插件,並試圖做到這一點。它沒有工作,不知道爲什麼,我會在稍後尋求幫助。但是,接下來我看到CakePHP已經使用「Scafolding」提供了此功能。我現在正在嘗試這個,但不知道爲什麼它沒有按照我的預期工作。下面是我做的:CakePHP項目中的管理面板/界面

app/config/core.php : 
--------------------- 
. 
. 
. 
Configure::write('Routing.prefixes',array('admin')); 
. 
. 
. 

app/Controller/AppController.php : 
---------------------------------- 
. 
. 
. 
public $components=array(
    'Session', 
    'Auth'=>array(
     'loginRedirect'=>array('admin'=>true,'controller'=>'home','action'=>'index'), 
     'logoutRedirect'=>array('controller'=>'home','action'=>'index'), 
     'authorize'=>array('Controller') 
    ) 
); 
. 
. 
. 

我想,應該有管理面板,一個單獨的控制器,這就是爲什麼我創造了它:

app/Controller/AdminsController.php : 
------------------------------------- 
<?php 
    App::uses('AppController','Controller'); 
    class AdminsController extends AppController{ 
     public $name='Admins'; 
     public $scaffold='admin'; 
    } 

但沒有奏效。所以,我認爲CakePHP爲所有單獨的控制器提供了這個功能;我的意思是,我認爲我應該爲所有單獨的控制器設置管理員面板,而不是作爲不同的模塊/控制器/子系統。所以,我改變我現有的控制器「Controllers1」的小傢伙:

<?php 
    App::uses('AppController','Controller'); 
    class Controllers1Controller extends AppController{ 
     public $name='Controllers1'; 
     public $scaffold='admin'; 
    } 

然後試圖去這個網址:my_site/admin/jobs/view 但還是同樣的結果。

請給我一個建議,我該怎麼辦?我應該爲「管理面板」創建一個新的插件,還是Scafolding更好?我的錯是什麼?

感謝

回答

1

的AdminsController沒有必要使用管理前綴,所有你需要做的就是定義Routing.Prefixes像你已經做了。

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

對於您提到的我們什麼都你需要做的,使其工作是JobsController例如:

<?php 

App::uses('AppController', 'Controller'); 

class JobsController extends AppController { 
    public $scaffold = 'admin'; 
} 

因爲做路由前綴的工作方式是聲明瞭前綴的方法,不使用額外的控制器:

<?php 


App::uses('AppController', 'Controller'); 

class ArticlesController extends AppController { 

     function admin_index() { 
     //This method can be found under /admin/articles 
     } 
} 
+0

明白了。非常感謝。我認爲它現在會起作用。但是,應該創建這樣的「管理面板」,或者我應該創建一個不同的插件?@vicocamcho – user2387319

+1

它取決於你。您可以將它放在主應用程序上,或者將其製作爲插件,以便稍後可以在其他項目中使用它。 – vicocamacho

+0

謝謝。 @vicocamacho – user2387319