【问题标题】:Plugin default controllers in CakePHP 2.0CakePHP 2.0 中的插件默认控制器
【发布时间】:2011-12-15 21:05:16
【问题描述】:

我正在努力让自定义插件与默认控制器一起使用:

例如在 CakePHP 1.3 中,我可以创建一个用户插件并在其中创建一个 users_controller,它会自动成为插件控制器,

我可以通过以下方式访问用户插件中用户控制器的方法:

/users/add
/users/edit/1

如果我在 CakePHP 2.0 中做同样的事情,我会收到以下错误:

Error: Users.AddController could not be found.
Error: Create the class AddController below in file: /home/richarda/www/test/cake_zero/www/app/Plugin/Users/Controller/AddController.php

我可以通过以下网址访问它们:

/users/users/add
/users/users/edit/1

奇怪的是,默认索引操作按预期工作,即。我可以去

/users

并且可以从用户插件中的用户控制器中看到索引视图。

2.0 文档中没有提到插件的默认控制器,这个功能是否被删除了?

【问题讨论】:

  • 您确实启用了插件,不是吗?
  • 是的,在 bootstrap.php 中使用 CakePlugin::loadAll() 启用了插件;

标签: cakephp plugins


【解决方案1】:

我在 cake 2.2.0 中使用它,它适用于我的名为 admin 的插件。 希望您可以将其应用于您的情况。

Router::connect('/admin/', array('plugin'=>'admin','controller'=>'groups','action'=>'index'));

【讨论】:

    【解决方案2】:

    原来插件的默认路由在 CakePHP2.0 中被禁用了

    这是我发布的票:http://cakephp.lighthouseapp.com/projects/42648/tickets/2237-20-plugins-dont-have-a-default-controller#ticket-2237-3

    解决方案是创建自定义路由:

    Router::connect('/users/:action', array('controller'=>'users', 'plugin'=>'users');
    

    你可以走了。

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多