(资料图)
本篇文章给大家分享一个Laravel扩展:Laravel Navigation包,介绍一下怎么利用Laravel Navigation 轻松构建站点导航元素,希望对大家有所帮助!Laravel Navigation 是 Spatie 的一个包,用于管理 Laravel 应用程序中的菜单、面包屑和其他导航元素.
推文地址
虽然 Spatie Laravel Menu 包是 Laravel 的 Html 菜单生成器,但可以将此包视为导航组件的「无渲染组件」:
app(Navigation::class) ->add("Home", route("home")) ->add("Blog", route("blog.index"), function (Section $section) { $section ->add("All posts", route("blog.index")) ->add("Topics", route("blog.topics.index")); }) ->addIf(Auth::user()->isAdmin(), function (Navigation $navigation) { $navigation->add("Admin", route("admin.index")); });// 渲染到树结构app(Navigation::class)->tree();/*[ { "title": "Home", "url": "/", "active": false, "children": [] }, { "title": "Blog", "url": "/blog", "active": false, "children": [ { "title": "All posts", "url": "/blog", "active": false, "children": [] }, { "title": "Topics", "url": "/blog/topics", "active": true, "children": [] } ], }, { "title": "Admin", "url": "/admin", "active": false, "children": [] }]*/
登录后复制
使用这个包,你还可以使用以下方法从导航生成面包屑:
// 在你的控制器中添加额外的页面app(Navigation::class)->activeSection()->add($topic->name, route("blog.topics.show", $topic));// Render to breadcrumbsapp(Navigation::class)->breadcrumbs();/*[ { "title": "Blog", "url": "/blog" }, { "title": "Topics", "url": "/blog/topics" }, { "title": "Laravel", "url": "/blog/topics/laravel" }]*/
登录后复制
你可以在 GitHub 上了解此软件包、获取完整的安装说明并查看 源代码。感谢 Sebastian De Deyne 和 Spatie 团队提供这个包,以及像这个一样的所有出色的开源 PHP 和 Laravel 包
【相关推荐:laravel视频教程】
以上就是Laravel扩展推荐:导航元素工具“Laravel Navigation”的详细内容,更多请关注php中文网其它相关文章!