doumie6223 2017-11-16 05:43
浏览 51
已采纳

无法在Cakephp中调用插件控制器

I have a plugin named as PanelAdmin. It has Controller UsersController.php and inside it there are different actions defined. I have called the default controller within the plugin through this code

$routes->connect('/PanelAdmin', ['plugin' => 'PanelAdmin','controller' => 'default','action' => 'index']);

but cannot call other controller if i hit this url:

http://localhost/multi_shopping/PanelAdmin/Users/

One thing more i want to clear is i have to define routes for all controllers actions in routes.php. Please solve my issue. Thanks

  • 写回答

1条回答 默认 最新

  • douxin1163 2017-11-16 16:05
    关注

    In your plugin routes.php make sure you are setting a fallback route.

    routes.php

    <?php
    use Cake\Routing\Route\DashedRoute;
    use Cake\Routing\RouteBuilder;
    use Cake\Routing\Router;
    
    Router::plugin(
        'PanelAdmin',
        ['path' => '/PanelAdmin'],
        function (RouteBuilder $routes) {
            $routes->fallbacks(DashedRoute::class);
        }
    );
    

    From the DashedRoute class:

    /**
     * This route class will transparently inflect the controller, action and plugin
     * routing parameters, so that requesting `/my-plugin/my-controller/my-action`
     * is parsed as `['plugin' => 'MyPlugin', 'controller' => 'MyController', 'action' => 'myAction']`
     */
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器