2017-07-04 99 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