1 回答
TA贡献1825条经验 获得超6个赞
有多种方法可以解决这个问题,但我认为最简单的解决方案是在控制器中实现某种映射。
您可以轻松地将 switch case 导出到服务或静态方法,以便在不同的地方使用它。
在示例中,我引入了一个新变量$templateFile以使其更加清晰。
/**
* @Route("/{page}/", name="pagina")
*/
public function pagesAction(Request $request, $page)
{
// translated page name to template mapping
switch($page){
case 'pagina_estatica':
$templateFile = 'static_page';
break;
default:
$templateFile = $page;
}
if (!$this->get('templating')->exists('default/'. $templateFile . '.html.twig')){
throw new NotFoundHttpException();
}
return $this->render('default/' . $templateFile . '.html.twig');
}
- 1 回答
- 0 关注
- 87 浏览
添加回答
举报