【问题标题】:Symfony 2.7 : asset component not working with imagine_filterSymfony 2.7:资产组件不适用于imagine_filter
【发布时间】:2016-01-16 23:15:37
【问题描述】:

Symfony 2.7引入asset组件后,如何输出不带版本号的asset的相对url?

我正在使用以下代码,但它不再起作用了:

<img src="{{ asset('images/user.png') | imagine_filter('default') }}" alt="Image de profil" class="img-circle whitebg">

asset 函数输出带有版本号的 url,而imagine_filter 没有正确处理:

http://mywebsite.com/media/cache/resolve/default/images/user.png%3Fversion=v1.0

我的配置:

framework:
    assets:
        version: 'v1.0'
        version_format: '%%s?version=%%s'
        base_path: ~
        packages:
            images:
                base_path: /images
                version_format: ''

理想情况下,我可以在保持此版本控制策略的同时使想象过滤器工作 否则,停用图像的版本控制就足够了

感谢您的帮助!

【问题讨论】:

    标签: symfony filter assets liipimaginebundle


    【解决方案1】:

    您应该明确指出要用于具体资产的包:

    <img src="{{ asset('user.png', 'images') | imagine_filter('default') }}" alt="Image de profil" class="img-circle whitebg"> 
    

    【讨论】:

    • 你试过用version_format: null代替version_format:''吗?
    【解决方案2】:

    直接将过滤器应用于相对路径,asset() 可以看作是一种帮助:

    <img src="{{ asset('user.png'|imagine_filter('default')) }}">
    

    您也可以将版本(第 4 个参数)设置为 false:

    <img src="{{ asset('user.png'|imagine_filter('default'), null, false, false) }}">
    

    【讨论】:

    • 在 Symfony 2.7 中不推荐使用第四个参数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多