paulelpidorou/nova-custom-views

Laravel Nova 自定义视图。

dev-master 2022-08-13 17:53 UTC

This package is auto-updated.

Last update: 2024-09-13 22:10:36 UTC


README

Latest Stable Version Total Downloads Monthly Downloads Daily Downloads

Nova 自定义视图

此包允许您为特定的 Nova 资源创建可定制的视图。

安装

composer require digitalcloud/nova-custom-views

然后您需要在 config/app.php 中添加服务提供者,位置在 NovaServiceProvider 之后 (在 NovaServiceProvider 之后)

 /*
    |--------------------------------------------------------------------------
    | Autoloaded Service Providers
    |--------------------------------------------------------------------------
    |
    | The service providers listed here will be automatically loaded on the
    | request to your application. Feel free to add your own services to
    | this array to grant expanded functionality to your applications.
    |
    */

    'providers' => [

        ...
        App\Providers\NovaServiceProvider::class,
        ...
        devmtm\NovaCustomViews\NovaCustomViewsServiceProvider::class,
        ...

创建新视图 这是与任何其他 Nova 工具、资源工具或字段相同的过程。您可以在终端中简单地使用此命令

php artisan nova:views resource-name view-name

这将创建您的视图组件在 /nova-components/views/resource-name。如果您在之前的流程中安装了依赖项,您可以直接使用

cd ./nova-components/views/resource-name && npm run watch

view-name 的允许值是 [index | lens | detail | create | update | attach | update-attached]

如果您不提供 view-name,它将创建所有之前的 nova 视图。

您可以在 /nova-components/views/resource-name/resources/js/views 中修改任何视图组件

示例用法:为用户资源创建自定义详情视图

要创建新视图,例如用户详情视图,您可以运行以下命令

php artisan nova:views user detail

这将创建一个新的路径:'/nova-components/views/user',其中包含所有生成的用户视图。新的视图扩展了默认的用户 nova 详情视图(使用 Vue 混合)。您可以访问路径:'/nova-components/views/user/resources/js/views/Detail.vue' 修改默认视图,并添加以下自定义代码

<template>
   <div>YOUR_CODE_HERE</div>
</template>

示例用法:创建自定义仪表板

要创建自定义仪表板视图,您可以运行以下命令

php artisan nova:dashboard

这将创建一个新的路径:'/nova-components/views/dashboard',其中包含自定义仪表板组件。新的视图扩展了默认的 nova 仪表板视图(使用 Vue 混合)。您可以访问路径:'/nova-components/views/user/resources/js/views/Dashboard.vue' 修改仪表板视图,并添加以下自定义代码

<template>
   <div>YOUR_CODE_HERE</div>
</template>