innoweb / silverstripe-breadcrumbs
为网站添加可配置和可扩展的面包屑
2.1.0
2024-02-20 04:52 UTC
Requires
README
概述
为网站添加可配置和可扩展的面包屑。与Symbiote's Multisites和Fromholdio'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 %>><% 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许可证,请参阅许可证