addgod/nova-nested-breadcrumbs

为 Laravel Nova 实现完全嵌套的面包屑。

1.0.1 2022-01-02 11:15 UTC

This package is auto-updated.

Last update: 2024-08-29 06:01:49 UTC


README

Laravel Nova 的面包屑

Latest Stable Version Total Downloads License StyleCI

安装

您可以通过 composer 将此包安装到使用 Nova 的 Laravel 应用中。

composer require addgod/nova-nested-breadcrumbs

接下来,您需要在 Nova 中注册此工具。这通常在 NovaServiceProvidertools 方法中完成。

// in app/Providers/NovaServiceProvder.php

// ...
public function tools()
{
    return [
        // ...
        \Addgod\NestedBreadcrumbs\NestedBreadcrumbs::make(),
    ];
}

如果您需要扩展此包的中间件,您可以从配置中进行。只需按如下方式发布配置。

php artisan vendor:publish --provider="Addgod\NestedBreadcrumbs\ToolServiceProvider"

最后,将 Breadcrumbs 特性添加到您的 App\Nova\Resource 类中。

use Addgod\NestedBreadcrumbs\Traits\Breadcrumbs;

abstract class Resource extends NovaResource
{
    use Breadcrumbs;

要定义应显示的父级,请将以下函数添加到任何资源中。

/**
 * Get the parent to be displayed in the breadcrumbs.
 *
 * @return \Illuminate\Database\Eloquent\Model|null
 */
public function breadcrumbParent()
{
    return $this->model()->parentModel;
}

自定义

您可以通过在调用中添加以下方法来禁用捆绑的样式并加载自己的样式。

// in app/Providers/NovaServiceProvder.php

// ...
public function tools()
{
    return [
        // ...
        \Addgod\NestedBreadcrumbs\NestedBreadcrumbs::make()->withoutStyles(),
    ];
}

您还可以自定义资源的标签和标题。标签指资源的名称,例如 Users 资源将具有 Users 标签。标题指资源上设置的标题,默认为资源 ID,这两个都可以通过覆盖特质的以 breadcrumb 开头的函数来仅覆盖面包屑。

您还可以使用特质的静态 breadcrumbs 方法有条件地禁用面包屑。

信息

此包使用所有 Nova 视图中可用的自定义头部元素。由于这些视图可用的数据不同,面包屑的渲染是 API 驱动的,以确保对于所有视图,都提供必要的数据并显示。

屏幕截图

屏幕截图可以在这里查看。