[扩展推荐] Laravel Breadcrumbs 面包屑导航
19

file

面包屑就是那种只有在我需要的时候才会考虑的东西之一,然后我感觉每次我都会在应用中重新创建车轮,是时候寻找一个通用的解决方案了。

Laravel Breadcrumbs 是 Dave James Miller 开发的一个扩展包,可以让你通过一个简单的 API 便捷地给你的应用添加面包屑导航:

// Home
Breadcrumbs::for('home', function ($trail) {
    $trail->push('Home', route('home'));
});

// Home > About
Breadcrumbs::for('about', function ($trail) {
    $trail->parent('home');
    $trail->push('About', route('about'));
});

// Home > Blog
Breadcrumbs::for('blog', function ($trail) {
    $trail->parent('home');
    $trail->push('Blog', route('blog'));
});

要渲染面包屑,你可以从 Laravel Breadcrumb 提供的以下几个模板中选择:

  • breadcrumbs::bootstrap4
  • breadcrumbs::bootstrap3
  • breadcrumbs::bootstrap2
  • breadcrumbs::bulma
  • breadcrumbs::foundation6
  • breadcrumbs::materialize
  • breadcrumbs::json-ld
  • 自定义的视图路径,例如: partials.breadcrumbs

根据你需要哪个模板,你可以在发布的配置文件 config/breadcrumbs.php 中配置:

    'view' => 'breadcrumbs::bootstrap4',

最后在你的视图中渲染面包屑:

{{ Breadcrumbs::render('category', $category) }}

这个包甚至支持用于 SEO 目的的 JSON-LD 结构化数据,这是一个非常有用的功能:

<head>
    ...
    {{ Breadcrumbs::view('breadcrumbs::json-ld', 'category', $category) }}
    ...
</head>

了解更多:

Laravel Breadcrumb 包是高度可定制的,同时在 readme 文件中有很多文档选项。 请查看 官方 GitHub 仓库 来获取完整文档和安装说明。

此文章首发于 Laravel News

共享


Practice makes perfect.

原文地址:https://laravel-news.com/laravel-breadcr...

译文地址:https://laravel-china.org/topics/15483/e...

本帖已被设为精华帖!
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!