Php 如何将变量传递给细枝过滤器

Php 如何将变量传递给细枝过滤器,php,twig,Php,Twig,如何将变量传递到细枝过滤器中,以实现以下功能: 这里thumbsize将是我要传递给过滤器的变量,这可能吗?过滤器resize需要两个参数才能工作(参见注释)。 当前,varthumbsize像字符串一样传递,因此被视为一个参数 您可以将varthumbsize从字符串更改为数组,然后按如下方式传递它: {{ post.thumbnail.src|resize(thumbsize[0],thumbsize[1]) }} 在PHP文件中,您需要定义thumbsize,并给它一个值: 本例仅设

如何将变量传递到细枝过滤器中,以实现以下功能:


这里
thumbsize
将是我要传递给过滤器的变量,这可能吗?

过滤器
resize
需要两个参数才能工作(参见注释)。 当前,var
thumbsize
像字符串一样传递,因此被视为一个参数

您可以将var
thumbsize
从字符串更改为数组,然后按如下方式传递它:

{{ post.thumbnail.src|resize(thumbsize[0],thumbsize[1]) }}

在PHP文件中,您需要定义
thumbsize
,并给它一个值:

本例仅设置宽度和高度比例:
$context=Timber::get_context();
$context['thumbsize']=300;
木材::渲染('my-template.twig',$context);
然后在细枝上:

此示例用于设置宽度和高度的值
$context=Timber::get_context();
$context['thumbsize']=数组('width'=>600,'height'=>400);
木材::渲染('my-template.twig',$context);
然后在细枝上:

要创建自己的筛选器吗?这个过滤器已经由Wordpress的Timber提供,在这种情况下,我需要的只是将
thumbsize
作为变量传递到twig中。正如我上面的示例代码所示,它似乎不起作用。你需要定义变量
thumbsize
,或者传递一个静态值,比如:
{{foo.src | resize(150)}
谢谢@DarkBee,我确实有thumbsize作为变量,它会用
{thumbsize}输出
320240
但过滤器内部无法正常工作。如果我将
320240
作为静态值直接传递给过滤器,它就会工作。我明白了。这意味着当thumbsize被视为一个字符串时,筛选器需要2个参数。您可以将
thumbsize
var更改为数组,使其成为动态的