Assetic和Twig默认过滤器

时间:2015-09-11 07:43:22

标签: symfony twig assetic

为了在生产环境中利用Assetic,我正在翻译资产使用情况,如:

<img class="vcenter" src="{{ asset('img/LicenseBundle/icons/license_icon.png') }}"/>

{% image '@ManagerLicenseBundle/Resources/public/img/icons/license_icon.png' %}
    <img class="vcenter" src="{{ asset_url }}"/>
{% endimage %}

但是,如果可能的话,我可以如何翻译这样的内容(定义默认的后备):

<img class="vcenter" src="{{ asset(license.type.urlLogo)|default( asset('img/LicenseBundle/icons/license_icon.png')) }}"/>

除了写一堆

{% if license is defined and not empty and blablabla and license.type is defined and blablaomgthistakesforever %}
    {% image license.type.urlLogo %}
        <img class="vcenter" src="{{ asset_url }}"/>
    {% endimage %}
{% else %}
     {% image license.type.urlLogo %}
        <img class="vcenter" src="{{ asset_url }}"/>
    {% endimage %}
{% endif %}

,为每张图片做的只是一件苦差事,让我想哭。

1 个答案:

答案 0 :(得分:1)

试试这个:

<img class="vcenter" src="{{
    asset(license.type.urlLogo|default('img/LicenseBundle/icons/license_icon.png'))
}}"/>

而不是

<img class="vcenter" src="{{
    asset(license.type.urlLogo)|default( asset('img/LicenseBundle/icons/license_icon.png'))
}}"/>