Symfony 1.4, я хочу, чтобы немного модифицированный URL работал (маршрутизация?), Как? - PullRequest
1 голос
/ 15 января 2012

Все ссылки работают так, как я ожидал, но теперь мне нужно создать собственный URL.Пусть это будет «userprofile / username», где userprofile - это имя модуля, а username - это не действие, а имя пользователя.Другими словами, параметр GET.Как создать такую ​​маршрутизацию и применить только к этому модулю?К сожалению, я создал /config/routing.yml в этот модуль, и, похоже, не принимается во внимание.

Ответы [ 2 ]

4 голосов
/ 16 января 2012

Ваш файл routing.yml является глобальным для приложения, вы не можете указать другой для конкретного модуля. Это потому, что Symfony должен найти соответствующий маршрут, прежде чем он узнает, какой модуль использовать.

Попробуйте это в вашем apps / appname / config / routing.yml файле:

user_profile:
  url:    /userprofile/:username
  param:  { module: userprofile, action: showUser }

Тогда в ваших apps / appname / modules / userprofile / actions / actions.class.php есть действие, подобное этому:

public function executeShowUser(sfWebRequest $request) {
  $username = $request->getParameter('username');
  //do something!
}

И, как всегда, не забудьте запустить symfony cc после изменения любого файла конфигурации.

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

Итак, чтобы быть ценной темой:

# You can find more information about this file on the symfony website:
# http://www.symfony-project.org/reference/1_4/en/10-Routing

user_profile:
  url:    /userprofile/:username
  param:  { module: userprofile, action: showUser }

# default rules
homepage:
  url:   /
  param: { module: index, action: index }

# generic rules
# please, remove them by adding more specific rules


default_index:
  url:   /:module
  param: { action: index }

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