Имя пользователя в конфигурации маршрута URL в CakePHP - PullRequest
1 голос
/ 23 января 2012

Я пытаюсь создать собственный маршрут, как этот mysite.com/username/controller/action/params. После аутентификации пользователя его имя пользователя появляется в URL после домена.

Я попробовал примеры в книге, но безуспешно.

Это то, что я пытался, но не помогло: Router :: connect ('/: имя пользователя /: контроллер /: действие', array ()); Router :: connect ('/: controller /: action', array ());

Можете ли вы, ребята, помочь мне?

Заранее спасибо,

Денис

1 Ответ

3 голосов
/ 23 января 2012

Cake не знает автоматически, что вы имеете в виду с параметром :username вашего маршрута. Существует три параметра по умолчанию, которые не требуют дальнейшей настройки, а именно:

  1. :controller
  2. :action
  3. :plugin

Все остальные параметры должны быть указаны с соответствующим регулярным выражением, и дополнительно вам нужно будет указать массив с именем pass, чтобы сообщить Cake, что он должен передать параметр действию вашего контроллера для этой страницы. В вашем случае маршрут должен выглядеть примерно так:

Router::connect(
    '/:username/:controller/:action',
    array(), // Since you already have the controller and action in your URL there is no need for further directions here
    array(
        'pass' => array('username'), // If you want to pass the username to your action
        'username' => '[a-zA-Z0-9]+' // What regex the username should match
    ),
); 

Также см. Страницу книги о маршрутизации и, в частности, этот абзац для дальнейшего использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...