Lia*_*sby 1 php assets symfony twig
我最近刚刚从 SO 上的帖子中发现,不可能使用资产在树枝中渲染动态图像。所以我已经开始尝试使用asset命令添加动态图像。
目前,我尝试了以下方法:
{% for item in test %}
<img src="{{ asset("../images/"item.thumbnail ) }} " alt="{{ item.alt }}" />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我也试过
{% for item in test %}
<img src="{{ asset("../images/"{{item.thumbnail}} ) }} " alt="{{ item.alt }}" />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这些都不会抛出任何错误,但它们也不返回任何内容。这甚至可能吗,如果有的话,有人能指出我正确的方向吗?
ps 我已经迭代了 item.thumbnail 的结果,并且还仔细检查了这些资产是否已安装到包中。此外,图像文件夹称为图像,而不是图像或 img。
先感谢您。
编辑:
对于所有想知道为什么我没有收到错误的人....我实际上是在错误的页面上,这就是为什么我可以看到任何错误。所以请注意,在发布之前检查您在正确的页面上是否没有错误。
你的问题很容易解释你不在包的文件夹中,如果你在树枝中使用资产(),你在网络文件夹中
如果您使用资产,路径将为“RootFolder/web”
将您的图像存储在网络文件夹中,例如在上传/图像中
{% for item in test %}
<img src="{{ asset("upload/images/") ~ item.thumbnail }} " alt="{{ item.alt }}" />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
或者,如果您不上传新图片,并且它们仅用于您的模板,例如徽标
运行命令:资产:安装
并将您的代码更改为:
{% for item in test %}
<img src="{{ asset("bundles/{acme}/images/") ~ item.thumbnail }} " alt="{{ item.alt }}" />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
acme 必须是小写的bundel 的名称,并且结尾没有“Bundle”