如何在不破坏app_dev.php的情况下在Symfony中使用绝对链接?

时间:2015-05-18 17:11:23

标签: symfony

这是问题所在:

我有一个菜单链接,我想解析为domain / course / 2

此菜单栏位于菜单栏上。菜单栏在网站的所有页面上都可见,包括/ home和/ course / 1

如果我像这样编码菜单链接:

href="/course/2" 

然后这适用于导航。但是,如果我在/domain/app_dev.php/course/1上,那么做这个链接的风格会丢失app_dev而我会跳进制作,即我去域/ course / 2而不是/domain/app_dev.php/course/2 。不是我想要的。

但是如果我像这样编码菜单链接:

href="course/2"

然后这不会破坏app_dev。然而导航中断。因为如果我在/ course / 1中点击该链接时它是相对路径我最终在/ course / course / 2当然(没有双关语意)不存在。

我可以看到如何通过让我的导航栏知道它正在加载的页面(目录)并动态设置链接来解决这个问题。但这感觉有点“hacky”。​​

这必须是与Symfony的常见问题。如何最好地解决?

1 个答案:

答案 0 :(得分:0)

看起来你正在" hardcode"中生成链接。风格,而不是

href="/course/2"  

你应该使用" path"功能,所以如果你有路线名称"关闭"对于你的控制器动作,你应该使用

href="{{ path('closure', {id: 2})}}" 

其中" id"是预期的动作参数。我想你使用Twig作为模板引擎