Symfony2 动态图像使用资产

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。

先感谢您。

编辑:

对于所有想知道为什么我没有收到错误的人....我实际上是在错误的页面上,这就是为什么我可以看到任何错误。所以请注意,在发布之前检查您在正确的页面上是否没有错误。

Tim*_*lut 5

你的问题很容易解释你不在包的文件夹中,如果你在树枝中使用资产(),你在网络文件夹中

如果您使用资产,路径将为“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”