如何根据用户区域设置将值传递给symfony路由注释?

时间:2019-01-23 17:18:52

标签: symfony annotations symfony4 symfony-3.4 symfony-routing

是否可以将值传递给注释,我试图将值传递给 变量 locale slug _ {_ locale}基于参数转换器的用户本地,以便它可以在tabale中找到行(我为不同语言创建了diffrent表,例如slug_en,slug_fr ...)?有什么办法做到这一点,我做了些事,但没有醒来,得到了:

  

无法猜测如何从参数“ post”的请求信息中获取Doctrine实例。

/**
 * Show one post with all details
 *
 * @param PostTranslation $post
 * @ParamConverter("post", options={"mapping": {"post": "slug_{_locale}"}}))
 * @return Response
 */
public function show(PostTranslation $post)
{
    $post = $this->repository->find($post->getPost()->getId());

    ...
}

# routing.yml
post_show:
  controller: App\Controller\PostController::show
  path:
   hr: /hr/objave/{post}
   en: /posts/{post}
requirements:
  locale:  en|hr

0 个答案:

没有答案