2017-07-04 93 views
1

比方说,我有这样的事情:PHP树枝条件筛选

<img src='{{ asset(article.image.path) | imagine_filter('watermarked') }}' />

我想要做的是应用imagine_filter('watermarked')只有article.isWatermarked()等于true

有没有这样做的切片方式?或者我坚持

{% set src = asset(article.image.path) %} 
{% if article.isWatermarked() %} 
{% set src = asset(article.image.path) | imagine_filter('watermarked') %} 
{% endif %} 
<img src='{{ src }}' /> 

回答

2

取决于你有多少地方需要该功能的,你可以把它放在一个宏:

macros.twig:

{%- macro wmImage(article) -%} 
    {%- set src = article.watermarked ? asset(article.image.path) | imagine_filter('watermarked') : asset(article.image.path) -%} 
    <img src="{{ src }}"/> 
{%- endmacro -%} 

在模板(S):

{%- import 'macros.twig' as 'macros' -%} 

Usage: 
{{ macros.wmImage(article) }} 
+0

不是只有一行代码的宏的粉丝,但它做的工作 – DarkBee