creativecodelabs / silverstripe-social-meta-tags
为 Silverstripe 网站添加社交媒体元标签。
1.0
2018-04-12 14:29 UTC
Requires
- silverstripe/framework: ^3.5.0
This package is not auto-updated.
Last update: 2024-09-27 17:02:45 UTC
README
为 Silverstripe 网站添加社交媒体元标签。
描述
silverstripe-social-meta-tags 为 SiteTree 和子页面类型添加了 OpenGraph (Facebook) 和 Twitter 的社交媒体元标签。
支持的社交媒体元标签包括
- OpenGraph (Facebook)
og:site_name
og:title
og:image
og:description
og:url
- Twitter
twitter:site
twitter:title
twitter:image
twitter:description
twitter:card
要求
SilverStripe 3.5+
安装
composer require creativecodelabs/silverstripe-social-meta-tags
- 运行
/dev/build?flush=all
- 默认情况下,该模块将为所有页面类型渲染社交媒体元标签。
默认值
默认情况下,该模块将使用以下字段来填充元标签
og:type
-->"website"
og:site_name
-->SiteConfig.Title
og:title
-->Title
og:description
-->MetaDescription
og:url
-->AbsoluteLink()
twitter:title
-->Title
twitter:description
-->MetaDescription
twitter:card
-->"summary"
注意: twitter:card
默认设置为 "summary"
,除非使用图像字段。如果使用图像字段,则内容将设置为 "summary_large_image"
。
配置
通过编辑 mysite/_config/config.yml
来配置该模块,并设置以下选项
SocialMetaTags: default_title: 'PageTitle' default_description: 'MetaDescription' meta_description_default: true twitter_site: '' titles: ClassName: 'FieldName' ClassName1: 'FieldName1' descriptions: ClassName: 'FieldName' ClassName1: 'FieldName1' images: ClassName: 'FieldName' ClassName1: 'FieldName1' types: ClassName: 'website' ClassName1: 'article'
default_title
- 覆盖要使用的默认标题字段;默认使用PageTitle
。default_description
- 覆盖要使用的默认描述字段;默认使用MetaDescription
。meta_description_default
- 标志,表示是否在选择的描述字段为空时回退到MetaDescription
。twitter_site
- 用于twitter:site
元标签的内容。titles
- 一个包含类名的数组,其值是用于标题元标签的 Text 字段的名称。对于向 DataObjects 添加社交媒体元标签输出非常有用。descriptions
- 一个包含类名的数组,其值是用于描述元标签的 Text 字段的名称。对于向 DataObjects 添加社交媒体元标签输出非常有用。images
- 一个包含类名的数组,其值是用于图像元标签的 Image 字段的名称。对于向 DataObjects 添加社交媒体元标签输出非常有用。types
- 一个包含类名的数组,其值是用于og:type
元标签的内容。
示例 config.yml
SocialMetaTags: default_title: 'PageTitle' default_description: '' meta_description_default: true titles: Category: 'Name' Product: 'Name' Recipe: 'Name' descriptions: Category: 'ShortDescr' Product: 'Summary' Recipe: 'MetaDescription' images: AboutUsPage: 'LogoImage' Category: 'BeautyShot' Product: 'BeautyShot' Recipe: 'Image' types: Recipe: 'article' twitter_site: ''
将社交媒体元标签添加到 DataObjects
默认情况下,此模块仅将社交媒体元标签添加到 SiteTree 对象。
要将社交媒体元标签添加到 DataObjects
- 在
/mysite/_config.php
中,为每个您希望添加扩展的 DataObject 类添加扩展。- 例如:
Recipe::add_extension('SocialMetaTagsExtension');
- 例如:
- 在
/mysite/_config/config.yml
中,为您的类设置titles
、descriptions
和images
的选项(如果需要)。- 例如,请参阅上面的示例
config.yml
。
- 例如,请参阅上面的示例
- 在您的DataObject类中,在
getCMSFields()
方法中添加新字段
public function getCMSFields() { $fields = parent::getCMSFields(); ... $fields->addFieldToTab('Root.Main', new TextareaField("SocialMetaDescription")); $fields->addFieldToTab('Root.Main', new UploadField("SocialMetaImage")); return $fields; }
- 运行
/dev/build?flush=all
许可证
本项目采用GPL v3许可证