-3

我在用:

{{ asset('contact') }} (e.g.) 

为我的联系页面生成 URL,该 URL 输出:

http://localhost.project/contact.

但我在开发环境中。

如何为开发环境制作资产显示网址?

应该是:

http://localhost.project/web/app_dev.php/contact

不是

http://localhost.project/web/contact
4

2 回答 2

6

您应该使用{{ path('your_route') }}来生成 URL。这将为开发环境生成适当的 URL。

于 2013-09-06T19:02:02.930 回答
1

如果您使用的是 Symfony 2.3,您可以在 config.yml 文件中设置 assets_base_url。我处理这个问题的方法是在我的 parameter.yml 文件中添加一个 %domain% 变量,并有一个用于生产,一个用于开发。这样,资产就会按照您的建议加载正确的 url。

将以下内容添加到框架 -> 模板下的配置文件中

//app/config/config.yml

framework:
    templating:
        assets_base_url: %domain%

然后在你的parameters.yml中:

//app/config/parameters.yml - Dev environment

parameters:
    domain: 'http://localhost.project/web/'

然后,对于您的生产环境,您将需要您的 parameters.yml 有所不同并拥有您计划使用的域。

当您使用 twig 资产功能时,使用此设置,它将预先设置您想要的基本 url。

{{ asset('contact') }}

会变成:

http://localhost.project/web/contact

话虽如此。资产是图像、css、javascript、字体等。如果您尝试在应用程序中创建一个页面的 url,那么您需要使用 twig path 函数。

{{ path('route.name') }}

这使用您在 routing.yml 中定义的 symfony 的路由名称来为您请求的页面生成 url。

于 2013-09-06T20:11:28.030 回答