Строка заменить в Twig - PullRequest
       2

Строка заменить в Twig

0 голосов
/ 05 января 2019

У меня есть этот код:

{% set foto = 'photo_gallery/' ~ {{ image.id }} ~ '/' %}
{% set thumbs = 'photo_gallery/thumbs/' ~ {{ image.id }} ~ '/' %}


<img src="{{ pageTemplate.pageHeader.mainUrl }}{{ image.image |replace({foto: thumbs}) }}">

Это даст мне ошибку:

Fatal error: Uncaught Twig_Error_Syntax: A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "punctuation" of value "{". in ......

Как починить?

1 Ответ

0 голосов
/ 05 января 2019

Это дубликат из этого: если переменная веточка на Symfony

Не забудьте проверить на форуме, прежде чем добавлять вопрос :)

Правильный код будет:

{% set foto = 'photo_gallery/' ~ image.id ~ '/' %}
{% set thumbs = 'photo_gallery/thumbs/' ~ image.id ~ '/' %}


<img src="{{ pageTemplate.pageHeader.mainUrl }}{{ image.image |replace({foto: thumbs}) }}">

В ветке {%%} представляют и выполняют, что означает, что внутри будет делать что-то. Когда вы находитесь в этих тегах, вам не нужно использовать {{}}, потому что twig сможет интерпретировать имена ваших переменных, если они не заключены в кавычки.

Больше примеров и подробностей здесь: https://twig.symfony.com/doc/2.x/templates.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...