mjanssen / laravel-5-breadcrumbs
在Laravel 5+中创建导航路径的简单且强大的方法
This package is not auto-updated.
Last update: 2024-09-28 17:28:07 UTC
README
Laravel 5+中导航路径的简单解决方案
编辑.json文件
编辑您的.json文件,并在"require"部分添加以下行:
"mjanssen/laravel-5-breadcrumbs": "dev-master"
完成后,运行composer update
以更新您的框架,并将导航路径类加载到文件中。文件将放置在vendor/mjanssen/laravel-5-breadcrumbs
文件夹中。
现在可以在框架中使用该类。请确保在例如控制器中使用它。
use mjanssen\BreadcrumbsBundle\Breadcrumbs;
用法
由于我的第一个面包屑包(https://github.com/mjanssen/Laravel-4-breadcrumb)需要一些关注(自动生成,更新配置文件等...),因此这个面包屑包针对Laravel 5进行了优化。
最初,面包屑将是空的。要添加面包屑,请使用addBreadcrumb()函数
// Three breadcrumbs will be stored
Breadcrumbs::addBreadcrumb('Home', '/');
Breadcrumbs::addBreadcrumb('Second crumb', '/second-page');
Breadcrumbs::addBreadcrumb('Third crumb', '/second-page/third-page');
要生成面包屑HTML,可以使用generate()函数。
// Will return the html for the three previous set breadcrumbs.
Breadcrumbs::generate();
"未定义索引..."
如果您收到有关"未定义索引..."的错误,请确保已将配置文件复制到您的/config目录(位于/config/breadcrumbs.php下)。
其他方法
自动生成
为了方便生成面包屑,该包还提供了一个automatic()函数。此函数将检索当前URL的段,并围绕它们构建面包屑。Breadcrumb::generate()是不必要的,因为automatic()函数将构建面包屑,并返回面包屑的HTML。
Breadcrumbs::automatic();
删除存储的面包屑
要删除您设置的 所有面包屑,只需使用Breadcrumbs::truncate();
删除所有存储的面包屑。
检索存储的面包屑
要获取结构化的数组中的存储面包屑,请调用Breadcrumbs::getBreadcrumbs();
。这将返回一个数组,其中包含用于创建面包屑的信息。
示例全局使用
如果您有兴趣在全局范围内使用面包屑,可以使用视图组合函数来实现。
创建一个名为breadcrumbs.blade.php
的视图
在AppServiceProvider
中创建一个名为composer()的函数,并从现有的boot()函数中调用它。在composer()函数中,您可以设置视图的组合器。我们将组合面包屑视图。
View::composer('components.breadcrumbs', function() {
$data = [
'global_breadcrumbs' => Breadcrumbs::automatic()
];
view()->share($data);
});
在breadcrumbs.blade.php
文件中,您现在可以访问!! $global_breadcrumbs !!}
变量。从一个master.blade.php
文件(或 whatever您的布局文件是叫什么)中包含视图。这可以通过@include
来完成
@include(components/breadcrumbs) // 假设您将breadcrumbs.blade.php文件放在components文件夹中
现在,面包屑将显示在您的布局被使用的每一页上。
更改基础URL(对于自动面包屑)
要使自动面包屑中的主页段链接到另一个页面
第一段 -> 主页 (example.com)` => `第一段 -> 主页 (example.com/admin)
您可以通过 Breadcrumbs::setHomeUrlBase("admin")
(例如,在这个例子中) 来更改基本网址。请注意,此函数仅适用于自动面包屑生成,因为 addBreadcrumb 方法已经期望完整的网址。
选项
uppercaseFirst
useSeparator
bootstrapSeparator
separator
lastBreadcrumbClickable
automaticFirstCrumb
ulLiClass
bootstrap
except
stripHtmlExtension
此外,您还可以使用配置文件来编辑一些功能,例如分隔符。为此,在 /config
文件夹中创建一个名为 breadcrumbs.php
的 PHP 文件。在这个 Repo 的源文件中,将有一个示例配置文件,其中包含所有可用选项及其相关信息。
要移除 ID(用于产品或人物等),在 except 数组中放置 "numbers*"。这样就可以从面包屑中移除数字。
配置文件可在以下位置找到:https://github.com/mjanssen/Laravel-5-breadcrumbs-bundle/blob/master/config_file_breadcrumbs.php