如何将变量传递到Twig过滤器以实现如下所示:
<img src="{{ post.thumbnail.src|resize(thumbsize) }}" />
这里thumbsize
将是我将传递给过滤器的变量,这可能吗?
答案 0 :(得分:1)
似乎过滤器resize
需要2个参数才能工作(参见注释)。
目前var thumbsize
像字符串一样传递,因此被视为一个参数。
您可以将var thumbsize
从字符串更改为数组,然后将其传递给:
{{ post.thumbnail.src|resize(thumbsize[0],thumbsize[1]) }}
答案 1 :(得分:1)
在PHP文件中,您需要定义thumbsize
并为其指定值:
$context = Timber::get_context();
$context['thumbsize'] = 300;
Timber::render('my-template.twig', $context);
然后在树枝上:
<img src="{{ post.thumbnail.src|resize(thumbsize) }}" />
$context = Timber::get_context();
$context['thumbsize'] = array('width' => 600, 'height' => 400);
Timber::render('my-template.twig', $context);
然后在树枝上:
<img src="{{ post.thumbnail.src|resize(thumbsize.width, thumbsize.height) }}" />