innoweb/silverstripe-breadcrumbs

为网站添加可配置和可扩展的面包屑

安装次数: 7,824

依赖关系: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 2

公开问题: 0

类型:silverstripe-vendormodule

2.1.0 2024-02-20 04:52 UTC

This package is auto-updated.

Last update: 2024-09-20 06:11:42 UTC


README

Version License

概述

为网站添加可配置和可扩展的面包屑。与Symbiote's MultisitesFromholdio's Configured Multisites fork兼容。

需求

SilverStripe CMS 5,请参阅composer.json

注意:此版本与Silverstripe 5兼容。对于Silverstripe 4,请参阅1发布分支

安装

使用composer安装模块

composer require innoweb/silverstripe-breadcrumbs dev-master

然后运行dev/build。

配置

您可以选择是否将主页和从站点树隐藏的页面包含在面包屑中

Innoweb\Breadcrumbs\Extensions\SiteTreeExtension:
  crumbs_include_home: false # default: true
  crumbs_show_hidden: true # default: false

对于页面类型,您还可以禁用面包屑,例如。

Your\Project\LandingPage:
  show_crumbs: false # default: true

使用方法

默认情况下,该模块使用站点树生成面包屑。

在您的模板中,遍历$CrumbList以显示面包屑。您可以将以下代码复制到您的模板中

<% if $CrumbsList %>
	<nav aria-label="Breadcrumb" class="breadcrumbs">
		<ol itemscope itemtype="http://schema.org/BreadcrumbList">
			<% loop $CrumbsList %>
				<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
					<% if not $IsFirst %>&gt;<% end_if %>
					<a itemtype="http://schema.org/Thing" itemprop="item" href="$Link"<% if $IsLast %> aria-current="page"<% end_if %>>
						<span itemprop="name">$Title</span>
					</a>
					<meta itemprop="position" content="$Pos" />
				</li>
			<% end_loop %>
		</ol>
	</nav>
<% end_if %>

页面可以使用updateCrumbsList()方法向列表中添加或删除项目

public function updateCrumbsList($list) {
	$tag = $this->getActiveTag();
	if ($tag) {
		$crumb = Crumb::create($tag->Title, $tag->Link());
		$list->push($crumb);
	}
	return $list;
}

许可证

BSD 3-Clause许可证,请参阅许可证