首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SeoBundle -没有设置标题和描述

SeoBundle -没有设置标题和描述
EN

Stack Overflow用户
提问于 2017-07-15 10:04:35
回答 1查看 539关注 0票数 0

我已经配置了SeoBundle,如文档中所述

代码语言:javascript
复制
sonata_seo:
    page:
        title: Default title
        metas:
            name:
                description: Defualt description
                keywords: key1, key2

cmf_seo:
    title: seo.title
    description: seo.description
    content_listener:
        enabled: false

放置在base.html.twig

代码语言:javascript
复制
<head>
    {# meta #}
    <meta name=viewport content="width=device-width, initial-scale=1">
    <meta name="format-detection" content="telephone=no"/>

    {{ sonata_seo_title() }}

    {{ sonata_seo_metadatas() }}

    ...
</head>

现在,当我刷新页面时,我可以看到设置了sonata_seo块标题和描述,而不是cmf_seo。在文档中有一个警告:

只有在没有在内容对象上设置标题或当内容对象不可用时才使用标题和描述模板,否则它将使用SonataSeoBundle设置的默认设置。您应该确保默认设置也遵循模板。

如果docs能澄清什么是“内容对象”就好了.无论如何,我尝试从sonata_seo块中删除标题和描述:

代码语言:javascript
复制
sonata_seo:
    page: ~

cmf_seo:
    title: seo.title
    description: seo.description
    content_listener:
        enabled: false

现在我的标题变成了“奏鸣曲项目”,这是默认的SonataSeoBundle标题。

如何显示cmf_seo标题?{{ cmf_seo_title() }}不工作。

EN

回答 1

Stack Overflow用户

发布于 2017-07-17 10:21:36

seo.titleseo.description的价值是什么?它是你希望翻译的东西吗?您能为异常提供更长的堆栈跟踪吗?

通常,CmfSeoBundle需要一些占位符(%%content_description%%%%content_title%%,加倍以便在末尾可翻译)来用动态数据丰富标题/描述。动态数据可以在持久化的文档(content )上以SeoContent的形式存在,也可以像所谓的提取器那样从文档(content )中获取数据。在第一种情况下,您必须在第二种情况下实现SeoAwareInterface,您可以在[doucmentation[((https://symfony.com/doc/current/cmf/bundles/seo/extractors.html))]中找到几个提取器。

如果您想简单地设置静态标题,则应该使用SonataSeoBundle。我们只是简单地用来自当前内容的动态数据充实了cmf_seo.title|description中定义的模板。对于没有内容文档的页面(即静态页面),我们确实需要sonata_seo.title

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45116949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档