2013-11-01 57 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