esign/laravel-breadcrumbs

管理Laravel应用程序中的面包屑

1.3.0 2024-03-12 21:59 UTC

This package is auto-updated.

Last update: 2024-09-12 23:02:46 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

此包允许您管理和渲染Laravel应用程序中的面包屑。

安装

您可以通过composer安装此包

composer require esign/laravel-breadcrumbs

该包将自动注册服务提供者。

用法

您可以使用Breadcrumbs外观从控制器开始添加面包屑。

use Esign\Breadcrumbs\Breadcrumb;
use Esign\Breadcrumbs\Facades\Breadcrumbs;

Breadcrumbs::add('Home', 'http://example.com');
Breadcrumbs::add(Breadcrumb::create('Home', 'http://example.com'));

一次性添加多个面包屑

use Esign\Breadcrumbs\Breadcrumb;
use Esign\Breadcrumbs\Facades\Breadcrumbs;

Breadcrumbs::add([
    'Home' => 'https://www.example.com',
    'Blog' => null,
]);
Breadcrumbs::add([
    Breadcrumb::create('Home', 'https://www.example.com'),
    Breadcrumb::create('Blog'),
]);

您还可以预置面包屑。这可能在您始终想要添加一个主页面包屑时很有用

use Esign\Breadcrumbs\Breadcrumb;
use Esign\Breadcrumbs\Facades\Breadcrumbs;

Breadcrumbs::prepend('Home', route('home'));
Breadcrumbs::prepend(Breadcrumb::create('Home', route('home')));

转换为JsonLd

要将面包屑转换为JSON-LD,您可以使用toJsonLd方法。此方法将返回一个Spatie\SchemaOrg\BreadcrumbList实例。

use Esign\Breadcrumbs\Facades\Breadcrumbs;

Breadcrumbs::toJsonLd();

您可以将此实例转换为字符串以渲染实际的脚本标签

(string) Breadcrumbs::toJsonLd(); // <script type="application/ld+json">...</script>

渲染面包屑

此包附带一个视图组件来渲染您的面包屑路径

<x-breadcrumbs />

这将渲染以下HTML

use Esign\Breadcrumbs\Facades\Breadcrumbs;

Breadcrumbs::add([
    'Home' => 'https://www.example.com',
    'Blog' => null,
]);
<ol class="breadcrumbs">
  <li class="breadcrumbs__item">
    <a href="https://www.example.com" class="breadcrumbs__link">Home</a>
  </li>
  <li class="breadcrumbs__item">Blog</li>
</ol>

自定义面包屑视图

如果您想自定义视图组件,可以发布这些视图

php artisan vendor:publish --provider="Esign\Breadcrumbs\BreadcrumbsServiceProvider" --tag="views"

测试

composer test

许可证

MIT许可证(MIT)。请参阅许可证文件获取更多信息。