mjanssen/laravel-5-breadcrumbs

在Laravel 5+中创建导航路径的简单且强大的方法

dev-master 2017-10-12 07:27 UTC

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