CakePHP Global Slug Router - PullRequest
       13

CakePHP Global Slug Router

0 голосов
/ 13 января 2012

Я настроил слагов для всех своих постов, и мне нужен Router, который будет делать ссылки вроде:

/controller/post_slug_name, и мне нужно это для всех контроллеров, но когда я иду с:

Router::connect('/admin', array('admin' => true, 'controller' => 'settings', 'action' => 'dashboard'));
Router::connect('/:controller/:slug', array('action' => 'index'), array('pass' => array('slug')));

Панель администратора не работает.Как я могу сделать это так, просто и с работающей админкой?Спасибо

РЕДАКТИРОВАТЬ: С этими деревьями маршрутизаторы работает, как я хотел бы, за исключением того, что в панели управления я получаю даже действия индекса в URL-адресах, а не круто

Router::connect('/admin', array('admin' => true, 'controller' => 'settings', 'action' => 'dashboard'));
Router::connect('/admin/:controller/:action/*', array('admin' => true));
Router::connect('/:controller/:slug', array('action' => 'index'), array('pass' => array('slug')));

Ответы [ 2 ]

0 голосов
/ 15 января 2012

попробуйте подключить /admin/* вместо /admin

0 голосов
/ 14 января 2012

Я не пробовал это, поэтому я не уверен, что это работает, но, пожалуйста, попробуйте следующее ...

Router::connect('/:controller/:slug', array('action' => 'view:slug'));

Просматриваемая функция также должна принимать $ slug в качестве параметра:

function view($slug){
     ...
}

Если вышеперечисленное не работает, вы также можете попробовать это:

Router::connect('/:controller/*',array('action' => 'view'));  

Еще раз, я не пробовал ни один из этих кодов и не знаю, работает ли он, просто выдвигая идеи. Когда я вернусь домой, я буду их.

Спасибо

...