在本地开发中找不到 Symfony 资产
Symfony assets not found on local development
我正在使用 dompdf 测试一个 pdf 生成的文件,该文件之前使用 twig 从 html 生成。在我使用的那个模板中:
<img style="width: 146px; height: 81px;" src="images/ticket/logo.png"/>
{{ absolute_url(asset('images/ticket/logo.png')) }}
徽标未加载,打印的绝对 url 是:http://localhost/images/ticket/logo.png
,服务器在 localhost:8000
启动,我认为由于端口原因找不到徽标因为当我将图像 url 硬编码为 http://localhost:8000/images/ticket/logo.png
时,找到了。
如何告诉 symfony 在这个特定端口寻找这些资产?或者任何其他让它在我的本地机器上工作的解决方案。
您可以使用 getSchemeAndHttpHost 和 getPort
创建一个带有端口的 url
{{ app.request.getSchemeAndHttpHost() }}:{{ app.request.getPort() }}
会returnhttp://localhost:8000
所以你可以做类似的事情:
{{ app.request.getSchemeAndHttpHost() ~ ':' ~ app.request.getPort() ~ asset('images/ticket/logo.png') }}
它应该可以工作,但是您可以检查 app.request.getPort() return 端口是否正确,或者您可以对其进行硬编码。
在我这边,我所做的是这样的"src='/path-of-image'",它对我有用。
我没有使用 "absolute_url"
已解决,我不得不编辑 framework.yaml
(您可以编辑有问题的环境之一,在本例中为测试文件夹,所以 config\packages\test\framework.yaml
)文件并指定 base_url
:
framework:
assets:
packages:
images:
base_urls: 'http://localhost:8000/images'
然后,在树枝模板上使用它应该是:
asset('ticket/logo.png', 'images')
我正在使用 dompdf 测试一个 pdf 生成的文件,该文件之前使用 twig 从 html 生成。在我使用的那个模板中:
<img style="width: 146px; height: 81px;" src="images/ticket/logo.png"/>
{{ absolute_url(asset('images/ticket/logo.png')) }}
徽标未加载,打印的绝对 url 是:http://localhost/images/ticket/logo.png
,服务器在 localhost:8000
启动,我认为由于端口原因找不到徽标因为当我将图像 url 硬编码为 http://localhost:8000/images/ticket/logo.png
时,找到了。
如何告诉 symfony 在这个特定端口寻找这些资产?或者任何其他让它在我的本地机器上工作的解决方案。
您可以使用 getSchemeAndHttpHost 和 getPort
创建一个带有端口的 url{{ app.request.getSchemeAndHttpHost() }}:{{ app.request.getPort() }}
会returnhttp://localhost:8000
所以你可以做类似的事情:
{{ app.request.getSchemeAndHttpHost() ~ ':' ~ app.request.getPort() ~ asset('images/ticket/logo.png') }}
它应该可以工作,但是您可以检查 app.request.getPort() return 端口是否正确,或者您可以对其进行硬编码。
在我这边,我所做的是这样的"src='/path-of-image'",它对我有用。 我没有使用 "absolute_url"
已解决,我不得不编辑 framework.yaml
(您可以编辑有问题的环境之一,在本例中为测试文件夹,所以 config\packages\test\framework.yaml
)文件并指定 base_url
:
framework:
assets:
packages:
images:
base_urls: 'http://localhost:8000/images'
然后,在树枝模板上使用它应该是:
asset('ticket/logo.png', 'images')