如何将变量传递给 Twig 过滤器
How to pass a variable to a Twig Filter
如何将变量传递给 Twig 过滤器以实现如下目的:
<img src="{{ post.thumbnail.src|resize(thumbsize) }}" />
这里的 thumbsize
是我要传递给过滤器的变量,这可能吗?
过滤器 resize
似乎需要 2 个参数才能工作(请参阅评论)。
目前 var thumbsize
像字符串一样传递,因此被视为一个参数。
您可以将 var thumbsize
从字符串更改为数组,然后像这样传递它:
{{ post.thumbnail.src|resize(thumbsize[0],thumbsize[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) }}" />
如何将变量传递给 Twig 过滤器以实现如下目的:
<img src="{{ post.thumbnail.src|resize(thumbsize) }}" />
这里的 thumbsize
是我要传递给过滤器的变量,这可能吗?
过滤器 resize
似乎需要 2 个参数才能工作(请参阅评论)。
目前 var thumbsize
像字符串一样传递,因此被视为一个参数。
您可以将 var thumbsize
从字符串更改为数组,然后像这样传递它:
{{ post.thumbnail.src|resize(thumbsize[0],thumbsize[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) }}" />