Ссылка на 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
если вы еще не на странице администратора.