如何访问cakephp中的插件

时间:2014-12-08 10:26:20

标签: cakephp cakephp-2.3

我是cakephp的新手,我想通过URL调用插件。这是

的网址
http://testproject.local/PluginName/ControllerName/ActionName

当我运行此URL时,我发现“Missing Controller”错误。

Missing Controller
Error: <ControllerName>Controller could not be found.

Error: Create the class <ControllerName>Controller below in file: `app/Controller/<ControllerName>Controller.php`

它向我展示

`Exception Attributes: array ( 'class' => 'PracticeFusionController', 'plugin' => NULL, )`

这是我的routes.php

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
/**
 * ...and connect the rest of 'Pages' controller's urls.
 */
Router::connect('/Pages/*', array('controller' => 'pages', 'action' => 'display'));

Router::connect('/gods/:action/*', array('plugin' => 'nova', 'controller' => 'gods'));
Router::connect('/gods', array('plugin' => 'nova', 'controller' => 'gods'));

Router::parseExtensions('json', 'xml');

Router::mapResources('events');

Router::connect('/<pluginName>', array('plugin' => '<pluginName>', 'controller' => '<ControllerName>')); 

2 个答案:

答案 0 :(得分:1)

如果您实际在项目的引导程序中加载了插件,则只能加载/打开插件路由。您不需要在核心应用程序的routes.php中包含插件路由。如果要添加特定于插件的路由,可以使用routes选项加载特定于插件的路由文件。请注意,默认情况下,所有/plugin/controller/action路由都已正确路由,您不需要单独的路由文件。

所以,在你的核心应用程序app / Config / bootstrap.php中,添加:

CakePlugin::load('YourPlugin', array('routes' = true));

然后将加载插件的Config / routes.php中的路由并可以使用。 有关详细信息,请参阅the documentation

答案 1 :(得分:0)

如果以上解决方案不起作用,请加载像CakePlugin :: load('YourPlugin',array('routes'=&gt; true))插件;请注意传递的数组是:array('routes'=&gt; true)