0

我正在构建一个带有动态路由的 CMS 风格的应用程序。到目前为止,它似乎工作正常,但输出不尊重 WDT、资产和链接的环境......它总是链接到/whatever而不是/app_dev.php/whatever.

动态路由是通过 kernel.request 监听器实现的。相关代码在gist上。我是否需要在某个时候将当前环境传递给 Twig?

编辑:

在开发模式下会出现问题......在生产模式下没有问题。

4

1 回答 1

0

感谢@AdrienBrault,我终于通过使用控制器进行渲染解决了这个问题。

在 RequestListener 中,我向路由器的 RouteCollection 添加了一条新路由,指示将处理请求的控制器。

$route = new Route($path, array(
             '_controller' => 'CmsBundle:Routing:routing',
        ));

$this->router->getRouteCollection()->add('cms', $route);

在控制器中获取原始 URL 有点困难,但最后我通过使用前面 add() 方法中分配的名称查询路由器 RouteCollection 来解决它。

于 2013-01-10T12:46:39.110 回答