我在我的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
答案 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