Шаблон ветки внешний URL img
Я пытаюсь отобразить изображение из профиля на Facebook.
routing.yml
_graph_facebook:
path: graph.facebook.com/{fbId}/{var}
requirements:
_scheme: https
template.html.twig
Я получаю htpps: //mydomain.local/graph.facebook.com/facebookId/picture.
Я пытался с активами, но это работает, только если это жестко закодировано.
{% image 'https://graph.facebook.com/'~app.user.facebookId~'/picture'%}
<img src="{{ asset_url }}" alt="Example" />
{% endimage %}
Этот код не работает, он говорит, что: Неожиданный токен "оператор" значения "~". Я не мог найти ответ, вероятно, это просто очень. Спасибо за Вашу помощь
3 ответа
Как сказано в комментариях, роутер относится только к URL вашего сайта.
В любом случае, вы можете просто отобразить изображение с помощью facebookId
значение:
<img src="https://graph.facebook.com/{{ app.user.facebookId }}/picture" alt="Example" />
Аргументы оператора конкатенации должны быть разделены пробелом.
'https://graph.facebook.com/' ~ app.user.facebookId ~ '/picture'
Внешние URL должны быть экранированы фильтром html_attr:
<img src="{{ asset_url|e('html_attr') }}" alt="Example" />
Вы не можете использовать маршрутизацию для внешнего управления URI только внутренним.
Если вы хотите инкапсулировать это "поведение" в метод / функцию, доступную для ветки, я могу предложить вам создать Twig_Method с помощью собственного расширения ветки: http://symfony.com/doc/current/cookbook/templating/twig_extension.html