kinglozzer / metatitle
为 SilverStripe 4 重新添加 'MetaTitle' 字段
Requires
- php: ^8.1
- silverstripe/cms: ^5
Requires (Dev)
- phpunit/phpunit: ^9.5
README
重新添加了在 SilverStripe 3.1 中被移除的“Meta Title”字段。
作者:Loz Calver - Bigfork Ltd。
贡献
翻译是从 SilverStripe CMS v3.0.2 中提取的(在 SiteTree.METATITLE
实体被移除之前)。欢迎提交拉取请求以改进这些翻译并添加 SiteTree.METATITLEHELP
翻译。
需求
此模块需要 SilverStripe 框架 & CMS 版本 5 及以上
"silverstripe/cms": "^5"
"silverstripe/framework": "^5"
对于与 SilverStripe 3 兼容的版本,请使用 1.x 版本的发行版(使用 composer,需要版本 ^1.0
)。
安装
首选使用 Composer 进行安装,但不是必需的。两种安装方法都需要执行 dev/build
。
Composer
$ composer require kinglozzer/metatitle:^3.0
ZIP 下载
只需下载此存储库的 zip 版本,解压缩它,并将目录复制到您的 SilverStripe 安装中。
用法
CMS
内容作者可以通过添加到“元数据”切换字段中的新“Meta Title”字段来编辑元标题
模板
自动包含元标题
确保包含元标题的最简单方法是在模板的 <head>
中调用 $MetaTags
。这将包含元标题(如果未设置元标题,则回退到页面标题)和站点名称,格式为:Meta 标题 » 您的站点名称
。
可以通过更改 Kinglozzer\SilverStripeMetaTitle\MetaTitleExtension.title_format
配置设置来自定义格式。例如,将 » 更改为连字符
Kinglozzer\SilverStripeMetaTitle\MetaTitleExtension: title_format: '$MetaTitle - $SiteConfig.Title'
title_format
字符串作为模板渲染,因此您可以使用全局可用的变量,如 $SiteConfig
。 $MetaTitle
会动态填充元标题(如果未设置元标题,则回退到页面标题)。
手动包含元标题
如果您希望直接在模板中控制元标题的输出方式,可以使用 $MetaTitle
变量。您需要调用 $MetaTags(false)
来确保 SilverStripe 不会自动输出 <title>
标签
<title><% if $MetaTitle %>$MetaTitle<% else %>$Title<% end_if %> » $SiteConfig.Title</title> $MetaTags(false)