如何将变量传递给Twig Filter

时间:2015-01-28 11:46:49

标签: php twig

如何将变量传递到Twig过滤器以实现如下所示: <img src="{{ post.thumbnail.src|resize(thumbsize) }}" /> 这里thumbsize将是我将传递给过滤器的变量,这可能吗?

2 个答案:

答案 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) }}" />