kinglozzer/metatitle

为 SilverStripe 4 重新添加 'MetaTitle' 字段

安装数: 206,514

依赖项: 12

建议者: 3

安全性: 0

星标: 17

关注者: 5

分支: 5

开放问题: 1

类型:silverstripe-vendormodule

3.0.0 2023-02-13 09:19 UTC

This package is auto-updated.

Last update: 2024-09-13 12:28:19 UTC


README

Build Status Latest Stable Version Total Downloads License

重新添加了在 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 %> &raquo; $SiteConfig.Title</title>
$MetaTags(false)