Ссылка на cakePHP не работает с маршрутами. Пользовательский плагин cakeDC и префикс администратора.

У меня есть ссылка с Html помощником в представлении admin_add.ctp внутри плагина пользователей cakeDC. Моя проблема в том, что действие не используется, вместо него используется значение контроллера, а в качестве контроллера используется "пользователи".

Я думаю, что это может быть потому, что маршруты мешают. Не уверен, хотя.

Ссылка, которую я получаю,

/ администратора / пользователей / книги

Ссылка, которую я ищу

/ Администратор / книги / индекс

Контроллер - это книги, а действие - admin_index

echo $this->Html->link('List Books <i class="fa fa-chevron-right"></i>', 
    array('controller' => 'books', 
          'action' => 'index', 
          'plugin' => false,), 
    array('escape' => false));

routes.php

Router::connect('/', array('controller' => 'books', 'action' => 'index', 'home'));
Router::connect('/admin', array('controller' => 'books', 'action' => 'index', 'admin' => true));

CakePlugin::routes();
Router::parseExtensions('json', 'xml');
Router::connect('/users', array('plugin' => 'users', 'controller' => 'users'));
Router::connect('/users/index/*', array('plugin' => 'users', 'controller' => 'users'));
Router::connect('/admin/users/:action/*', array('plugin' => 'users', 'controller' => 'users', 'prefix' => 'admin', 'admin' => true));
Router::connect('/users/:action/*', array('plugin' => 'users', 'controller' => 'users'));
Router::connect('/users/users/:action/*', array('plugin' => 'users', 'controller' => 'users'));
Router::connect('/login', array('plugin' => 'users', 'controller' => 'users', 'action' => 'login'));
Router::connect('/logout', array('plugin' => 'users', 'controller' => 'users', 'action' => 'logout'));
Router::connect('/register', array('plugin' => 'users', 'controller' => 'users', 'action' => 'add'));

1 ответ

Решение

Пытаться

'plugin' => null

вместо

'plugin' => false 

и добавить

 'admin' => true

если вы еще не на странице администратора.

Другие вопросы по тегам