Twig模板外部url img

时间:2014-01-06 11:56:59

标签: php facebook symfony twig fosfacebookbundle

我正在尝试显示来自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 %}

此代码不起作用,它表示:值“〜”的意外标记“operator”。 我找不到答案,可能只是简单。谢谢你的帮助

3 个答案:

答案 0 :(得分:0)

您不能仅在内部使用路由进行外部URI管理。

如果您想将此“行为”封装在twig可访问的方法/函数中,我建议您通过自定义树枝扩展名创建Twig_Method:http://symfony.com/doc/current/cookbook/templating/twig_extension.html

答案 1 :(得分:0)

如评论中所述,路由器仅适用于您网站的网址。

无论如何,您只需显示facebookId值的图像:

<img src="https://graph.facebook.com/{{ app.user.facebookId }}/picture" alt="Example" />

答案 2 :(得分:0)

连接运算符的〜参数应该是空格 - 字符分隔。

'https://graph.facebook.com/' ~ app.user.facebookId ~ '/picture'

外部网址应使用html_attr过滤器进行转义:

<img src="{{ asset_url|e('html_attr') }}" alt="Example" />