主题插件和CakePHP 3.4的路由问题

时间:2018-07-02 17:02:20

标签: cakephp-3.x cakephp-3.4 cakephp-routing

我有一个运行中的CakePHP 3应用程序。已经有两年了,是时候进行一些图形改进了。

我要做的是创建一个新的主题插件,该插件的大多数操作(使用不同的视图模板)应使用“默认”控制器,除了某些页面将完全不同。

因此,我正在尝试为该应用创建一个新的主页。在主题插件的路由器中,我有这个:

Router::plugin('Theme2', ['path' => '/'], function ($routes) {
    $routes->connect('/', ['controller' => 'Dashboard', 'action' => 'display']);
    $routes->fallbacks('DashedRoute');
});

这是默认路由器(的一部分):

Router::scope('/', function ($routes) {
    $routes->connect('/', ['plugin' => null, 'controller' => 'Pages', 'action' => 'display', 'dashboard']);
    $routes->connect('/istruzioni', ['plugin' => null, 'controller' => 'Pages', 'action' => 'display', 'admin']);
    ....

主页正常工作。

问题是指向其他页面的所有链接均不起作用:

<a href='<?= $this->Url->build(['controller' => 'Pages', 'action' => 'display', 'admin']) ?>'>Link</a>

这将生成指向错误的/pages/display/admin的链接,并且在此方法正常运行时,它会将我发送到错误页面,提示Error: Theme2.PagesController could not be found.

<a href='<?= $this->Url->build('/impostazioni') ?>'>Link</a>

尽管它们应该指向同一页面。我想念什么?

p.s。我知道我可以使用HTML链接帮助程序,这不是重点(我想:))

0 个答案:

没有答案
相关问题