路由前缀中的区域设置

时间:2013-04-27 16:00:11

标签: symfony symfony-2.2

我正在尝试使用_locale为单个控制器中的所有路径添加前缀,但到目前为止我还没有取得任何成功:

/**
 * @Route("/{_locale}/events", requirements={"_locale": "en"})
 * @Route("/{_locale}/evenements", requirements={"_locale": "fr"})
 */
class SomeController extends Controller{

    /**
     * @Route("/", name="events")
     */
    public function indexAction(){
       ... 
    }

    ...
}

route:debug甚至不会列出以第二个@Route为前缀的网址。我试图完全删除_locale slug但仍无法找到路线。

我在这里遗漏了什么吗?甚至可以有多个前缀吗?

非常感谢任何帮助......

1 个答案:

答案 0 :(得分:0)

首先,你在你的文件Ressources / config / routing.yml中定义了你正在为这个控制器使用注释吗?

#file Ressources/config/routing.yml
blog:
    resource: "@YourBundle/Controller"
    type:     annotation

您还可以将路线定义为:

/**
 * @Route("/en/events", defaults={"_locale": "en"})
 * @Route("/fr/evenements", defaults={"_locale": "fr"})
 */