Twig` {%image%}`仅包含DEV中的所有图像,而不包括PROD

时间:2015-10-06 20:50:33

标签: symfony twig assetic

我在我的twig模板中有以下代码,它在开发中运行良好,并按照我的预期显示目录中的所有图像:

{% image '@AppBundle/Resources/images/designz/*' %}
      <img src="{{ asset_url }}" width="600" />
{% endimage %}

然而,当我将网站移动到生产环境时,我没有出现任何图像。我已经尝试提交以下命令,希望能修复它,但没有运气:

php app/console assetic:dump --env=prod --no-debug
php app/console cache:clear --env=prod --no-debug
php app/console assets:install

2 个答案:

答案 0 :(得分:2)

我在我的项目中测试了你的案例。我认为*不适用于图像文件。在开发模式下,Symfony在生产模式下生成更多图像标签Symfony尝试将这些文件合并到一个输出文件,而这通常不适用于图像文件,因为您有一些元数据。如果您在该文件夹中有一些不同的文件,例如png和jpeg,则尝试合并它们。

如果使用导致输出的过滤器和管道,则此功能是正确的。

<强>生产:

<img src="/images/925f36b.png" width="600">

开发

<img src="/app_dev.php/images/925f36b_part_1_hellgrau_1.png" width="600">
<img src="/app_dev.php/images/925f36b_part_1_xxx_2.png" width="600">

但最后我认为使用图像只能使用一个文件。

答案 1 :(得分:1)

如果您只使用一张图片怎么办?

{% image '@AppBundle/Resources/public/images/example.jpg' %}
    <img src="{{ asset_url }}" alt="Example" />
{% endimage %}

关于Symfony文档 image 只识别一个文件,而不识别目录。 http://symfony.com/doc/current/cookbook/assetic/asset_management.html#including-images