brotkrueml / sdbreadcrumb
Requires
- ext-json: *
- typo3/cms-core: ^8.7.25 || ^9.5 || ^10.4 || ^11.5
- typo3fluid/fluid: ^2.5
Requires (Dev)
- phpunit/phpunit: ^6.5 || ^8.5 || ^9.5
README
这是一个用于渲染面包屑结构数据的TYPO3 Fluid视图助手扩展。
此TYPO3扩展已过时。请使用 EXT:schema 代替。它提供了一个具有相同功能的面包屑视图助手。
迁移到schema扩展
使用 schema扩展,您不仅可以有结构化的面包屑,还可以获得API和许多其他视图助手,例如添加组织、人员、视频、职位发布等更多类型到您的网站中。
迁移很简单。只需在您的Fluid模板中将以下内容替换为:
<sdb:breadcrumbMarkup breadcrumb="{breadcrumb}"/>
替换为
<schema:breadcrumb breadcrumb="{breadcrumb}"/>
即可。
要求
扩展支持TYPO3 v8 LTS、TYPO3 v9 LTS、TYPO3 v10 LTS和TYPO3 v11 LTS。
为什么你应该使用这个扩展?
结构化数据丰富了您的内容,以供搜索引擎使用。面包屑显示网站层次结构和分类,而与页面树无关。使用此视图助手,您可以按照 schema.org 渲染 breadcrumb列表。
您可以在 Google功能指南 中找到有关结构化面包屑标记的优点和示例的更多信息。
如果您想在页面上不仅仅包含结构化标记的面包屑,请使用 schema扩展。使用它,您可以使用API或视图助手以结构化方式输出任何内容。您还可以轻松迁移到schema扩展。请参见下文。
安装
通过Composer安装
安装此扩展的推荐方法是使用Composer。在基于Composer的TYPO3项目根目录下,只需执行以下操作:
composer require brotkrueml/sdbreadcrumb
从TYPO3扩展存储库(TER)作为扩展安装
使用扩展管理模块下载并安装扩展。
用法
视图助手可以使用以下语法在您的Fluid模板中使用:
<sdb:breadcrumbMarkup breadcrumb="{breadcrumb}"/>
只需将您的TypoScript页面对象中特殊属性rootline
的菜单处理器结果抛给视图助手,例如:
page.10 = FLUIDTEMPLATE
page.10 {
// ... Your other configuration
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
special = rootline
as = breadcrumb
}
}
}
默认情况下,第一条记录(起始页面)会被移除,因此它不会在结构化数据中显示(这通常不是必需的)。您可以通过附加参数`stripFirstItem`来改变这种行为。
<sdb:breadcrumbMarkup breadcrumb="{breadcrumb}" stripFirstItem="0" />
由于根行菜单处理器的结果是数组的数组,您可以使用自己生成的结构,例如用于分类。
$myBreadcrumb = [
[
'link' => '/',
'title' => 'Start page',
],
[
'link' => '/category-1/',
'title' => 'Category 1',
],
[
'link' => '/subcategory-1-1/',
'title' => 'Subcategory 1-1',
],
];
结果将以紧凑的JSON-LD格式呈现。
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "WebPage",
"@id": "https://example.org/category-1/",
"name": "Category 1"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "WebPage",
"@id": "https://example.org/subcategory-1-1/",
"name": "Subcategory 1-1"
}
}
]
}
</script>
您可以在结构化数据测试工具中测试生成的结构化数据。
在模板中使用XML Schema (XSD) 进行验证
您可以协助代码编辑器建议标签名称和可能的属性。只需将sdb
命名空间添加到Fluid模板的根部。
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:sdb="http://typo3.org/ns/Brotkrueml/Sdbreadcrumb/ViewHelpers" sdb:schemaLocation="https://brot.krue.ml/schemas/sdbreadcrumb-1.0.0.xsd" data-namespace-typo3-fluid="true">
相关部分是命名空间声明(xmlns:sdb="http://typo3.org/ns/Brotkrueml/Sdbreadcrumb/ViewHelpers"
)。sdb:schemaLocation
属性的内容指向最新的XSD定义。
您还可以将XSD文件导入您喜欢的IDE中,该文件与扩展一起提供。您可以在文件夹Resources/Private/Schemas/
中找到该文件。