Как передать переменную в фильтр Twig

0

Как передать переменную в фильтр Twig, чтобы получить что-то вроде этого: <img src="{{ post.thumbnail.src|resize(thumbsize) }}"/> Здесь thumbsize будет переменной, которую я бы thumbsize на фильтр, это возможно?

  • 0
    Вы хотите создать свой собственный фильтр? Как продлить веточку
  • 0
    Этот фильтр уже предоставлен Timber для Wordpress, в этом случае мне нужно просто передать этот thumbsize в виде переменной, доступной в twig. Как это на моем примере кода выше, похоже, не работает.
Показать ещё 4 комментария
Теги:
twig

2 ответа

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

1

Кажется, что resize фильтра предполагает, что 2 параметра будут работать (см. Комментарии). В настоящее время var thumbsize передается как строка и поэтому рассматривается как один аргумент.

Вы можете изменить thumbsize var из строки в массив, а затем передать ее так:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню