digitalcloud/nova-custom-views

Laravel Nova 自定义视图。

v1.7 2018-11-12 11:42 UTC

This package is auto-updated.

Last update: 2024-09-07 17:55:58 UTC


README

Latest Stable Version Total Downloads Monthly Downloads Daily Downloads

Nova 自定义视图

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

安装

composer require digitalcloud/nova-custom-views

然后您需要将服务提供者添加到您的 config/app.php 文件中,在 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 mixins)。您可以通过访问路径 '/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 mixins)。您可以通过访问路径 '/nova-components/views/user/resources/js/views/Dashboard.vue' 并添加以下自定义代码来修改仪表板视图

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