Symfony2 / Sonata SEO Bundle / og:image

时间:2014-06-17 17:18:52

标签: facebook symfony seo symfony-sonata

对于我的生活似乎不能解决这个问题。我已将以下内容添加到我的' base' twig的头:

  <html {{ sonata_seo_html_attributes() }}>
<head {{ sonata_seo_head_attributes() }}>
    {{ sonata_seo_title() }}
    {{ sonata_seo_metadatas() }}
    {{ sonata_seo_link_canonical() }}
    {{ sonata_seo_lang_alternates() }}

哪个效果很好,但正在运行Facebook debug,它告诉我需要明确定义og:image。

  

og:图片丢失了。 og:image元标记是Facebook呈现生成高点击率的新闻Feed故事所必需的。

现在我已经查看了代码并在Google上查了但似乎无法提及它,但我无法相信这只是我遇到的问题。

我试图在SonataNewsBundle / Media Bundle中使用它,我的图像使用以下方式加载到页面上:

   <img data-interchange="[{% path post.image, 'small' %}, (small)], [{% path post.image, 'big' %},(large)]">

我尝试将Meta块添加到新闻/视图并将其放入:

   {% block meta %}
   <meta property="og:image" content="{% media post.image, 'big' %}" />
   {% endblock meta %}

但是在调试时得到这个:

Object at URL 'http://www."mysite".com/news/2014/6/17/woop-just-testing' 
of type 'article' is invalid because the given value 
'<img alt=' for property 'og:image:url' 
could not be parsed as type 'url'.

然后我尝试了:

 {% block meta %}
 <meta property="og:image" content="{% path post.image, 'big' %}" />
 {% endblock meta %}

但请改为:

Object at URL 'http://www."mysite".com/news/2014/6/17/woop-just-testing' of type 
'article' is invalid because the given value 
'/uploads/media/news/0001/01/thumb_3_news_big.jpeg' for property 
'og:image:url' could not be parsed as type 'url'.

任何帮助非常感谢。 道格。

1 个答案:

答案 0 :(得分:0)

管理对它进行排序,可能不是最好的方法,但有效......

在config中,yml我已经添加了Sonata_media部分的完整路径:

cdn:
    server:
        path: http://www.--mywebsite--.com/uploads/media/

而不是:

cdn:
    server:
        path: /uploads/media/

并使用它来设置Meta:

{% block meta %}
<meta property="og:image" content="{% path post.image, 'big' %}" />
{% endblock meta %}