1

我已经用 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 类来完成,但我真的不知道如何完成这项工作。

4

1 回答 1

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>
于 2013-01-17T06:51:08.197 回答