Как передать переменную в фильтр Twig, чтобы получить что-то вроде этого: <img src="{{ post.thumbnail.src|resize(thumbsize) }}"/>
Здесь thumbsize
будет переменной, которую я бы thumbsize
на фильтр, это возможно?
В вашем 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) }}"/>
Кажется, что resize
фильтра предполагает, что 2 параметра будут работать (см. Комментарии). В настоящее время var thumbsize
передается как строка и поэтому рассматривается как один аргумент.
Вы можете изменить thumbsize
var из строки в массив, а затем передать ее так:
{{ post.thumbnail.src|resize(thumbsize[0],thumbsize[1]) }}
thumbsize
в виде переменной, доступной в twig. Как это на моем примере кода выше, похоже, не работает.