我已经使用Symfony2框架完成了一个应用程序。
当前在应用程序中的生根就是这样:
http://testserver.loca.com/app_dev.php/Dashboard/
我想添加一个动态前缀:
http://testserver.loca.com/app_dev.php/Prefix/Dashboard/
当用户点击将他直接发送到特定页面的链接时,将选择动态前缀,该列表将如下所示:
http://testserver.loca.com/app_dev.php/Prefix1/Dashboard/
http://testserver.loca.com/app_dev.php/Prefix2/Dashboard/
http://testserver.loca.com/app_dev.php/Prefix3/Dashboard/
我发现周围有可能使用Service和ExtraLoader类来完成它,但我真的不知道如何完成它。
答案 0 :(得分:1)
您可以在路由中处理前缀:
/**
* @Route("{prefix}/Dashboard", name="dynamic_dashboard")
* @Template()
*/
public function dynamicDashboardAction($prefix)
{
// Some way of deciding what to do based on prefix
switch($prefix){
case 'Prefix1':
// Do stuff for prefix1 etc
break;
// etc
}
}
在上面,路线有一个前缀的占位符,传递给dynamicDashboardAction($prefix)
方法。在视图中,您可以使用twig从每个链接传递正确的前缀:
<a href={{ path("dynamic_dashboard", {"prefix": "Prefix1"}) }}">Dashboard 1</a>
<a href={{ path("dynamic_dashboard", {"prefix": "Prefix2"}) }}">Dashboard 2</a>