copiaincolla/metatags-bundle

HTML Meta 标签管理。

安装 2,429

依赖者: 0

建议者: 0

安全性: 0

星标: 5

关注者: 6

分支: 4

开放性问题: 7

类型:symfony-bundle

2.8 2014-05-20 21:28 UTC

This package is auto-updated.

Last update: 2024-09-05 18:00:33 UTC


README

Symfony2 Bundle,通过路径匹配来管理HTML Meta标签。此Bundle管理相对路径,而不是绝对URL。

工作原理

您,作为开发者,在网站的保留区域指定您希望管理员可见的路径。然后管理员可以手动为具体路径设置meta标签值,或定义一些应用于路径的正则表达式规则。您还可以在twig模板中设置一些meta标签。

MetaTagsBundle 加载 一些URL并管理URL与其之间的关联,将数据存储在数据库中。

要选择必须由MetaTagsBundle管理的URL,您必须 加载 生成它们的路由。有几种不同的方法可以实现这一点

  • 通过在config.yml中包含Bundle名称来加载一个Bundle的所有路由
  • 对于每个路由,在路由注解中指定选项ci_metatags_expose

对于需要从数据库中获取参数的路由,有从数据库中加载实体并将路由参数与实体值关联以创建URL的可能性。

对于更具体的需求,也可以创建一个自定义服务,该服务简单地返回一个URL数组。

一旦在MetaTagsBundle中加载了URL,您将为每个URL关联以下meta标签

  • 标题
  • 描述
  • 关键词
  • 作者
  • 语言
  • 机器人
  • 谷歌机器人
  • og:title
  • og:description
  • og:image

可以为每个meta标签指定默认值,当URL没有或部分由用户指定的meta标签时使用。

注意:此Bundle目前处于beta状态,处于测试阶段,即将发布第一个版本。

变更日志

2014年10月4日 - 版本 2.1

增加了与Symfony 2.4的兼容性。

2014年3月3日 - 版本 2.0

管理员区域的模板已经被重构,减少了文件数量。引入了对Symfony 2.3的兼容性。功能“allow_edit_url”已被暂停。

2013年8月20日 - 版本 1.1

发布了1.1版本!最重要的引入是定义用于默认meta标签值的级联正则表达式规则的可能性。

2013年4月5日 - 版本 1.0

在此日期,版本1.0被标记,太好了!这意味着此Bundle不再是beta版本,而是准备好用于生产环境。

2013年1月24日 - 版本 0.1

此Bundle的工作开始,目前处于alpha状态。

安装

安装说明可在此处找到。

此Bundle的当前版本(master分支)与Symfony >= 2.2.* 兼容。

标记说明

我们将尽力提供标记,以便在composer或deps中熟练使用。

此Bundle的开发针对Symfony >= 2.0.*版本;以下是关于我们使用的标记系统的简要说明

  • 格式为“X.Y”的标记与Symfony >= 2.2.*兼容
  • 格式为“S2.0/X.Y”的标记与Symfony 2.0.*兼容
  • 格式为“S2.1/X.Y”的标记与Symfony 2.1.*兼容

如果您使用的是 symfony 2.0.*,请遵循symfony-2.0.x 分支上的此指南

如果您使用的是 symfony 2.1.*,请遵循symfony-2.1.x 分支上的此指南

有关 CopiaincollaMetaTagsBundle 中使用的 标签和分支系统 的更多详细信息,请参阅标签和分支系统说明

配置

要配置此包,请阅读配置以了解所有可能的值。

默认元标签值可以通过 Web 界面在 /metatags/defaults URL 进行配置。

加载 URL

要生成包含在包中所有路由的 URL,只需将包名称添加到 config.yml 中,具体说明请参阅此处

您也可以通过指定路由注解中的选项来添加单个路由

@Route("/product/{id}/{slug}", name="product_show", options={"ci_metatags_expose"=true})

通过此选项,您还可以选择 从特定路由生成 URL

@Route("/product/{id}/{slug}", name="product_show", options={"ci_metatags_expose"=false})

您还可以通过从数据库中获取数据来生成关联元标签的 URL;请参阅配置#dynamic_routes这一节。

最后,您还可以通过遵循此指南来创建自定义 URL 加载器 服务。

向用户显示帮助消息

您可以通过指定 @Route 选项在编辑页面上显示消息,只需使用 ci_metatags_help 选项即可

@Route("/product/{id}/{slug}", name="product_show", options={"ci_metatags_help"="This urls represents a product. Use {{ entity.title }} to print the title of a product"})

在模板中的使用

目前仅支持 twig。

在包含 <head> 标签的模板中,只需添加

<body>
    <head>
        {% render controller('CopiaincollaMetaTagsBundle:MetaTags:render') %}
        [...]
    </head>

    [...]
</body>

要覆盖默认元标签和由 Web 界面插入的自定义元标签,可以指定 inlineMetatags 变量

{% render controller('CopiaincollaMetaTagsBundle:MetaTags:render', { 'inlineMetatags': {'title': 'New foo title'} }) %}

有关模板中使用和高级使用的更详细说明,请参阅模板使用