明亮/mango-nova

Mango CMS 的管理功能,配合 Laravel Nova 管理界面。

v1.1.0 2021-11-08 19:56 UTC

README

Mango Nova v1.0.0 ("下一个夏天" 版本)

简介

Mango Nova 包为特定项目提供 Nova 的功能。基本功能,如菜单和内容,由 Nova 包提供,这个包只是将 Nova 与基于 Mango 的项目连接起来的桥梁。

安装

首先,我们需要安装 Mango Nova

composer require brightly/mango-nova:"dev-feature/next-summer"

Mango Nova 默认提供很多功能,类似于 Laravel Nova 包。因此,在安装 Mango Nova 之后,您需要发布一些不同的部分

artisan vendor:publish --tag=mango-nova-dev
artisan vendor:publish --tag=mango-nova-views
artisan vendor:publish --tag=mango-nova-migrations

...然后,您只需将以下内容添加到您的 composer.json

require-dev: {
    ...
    "laravel/nova": "*"
},
repositories:
[
    ...
    {
        "type": "path",
        "url": "./nova"
    }
]

...当然,运行

composer update 

这是一个较大的更新:这将安装完整的 Laravel Nova 包。因此,现在我们需要设置 Nova,使用预构建的 Mango 类,以使一切都能良好地协同工作。为了使一切安装正确,首先您需要在 composer update 之后安装 Nova

php artisan nova:install

下一步

composer require anaseqal/nova-sidebar-icons:"^0.0.3"

...然后...

php artisan vendor:publish --provider="Anaseqal\\NovaSidebarIcons\\ToolServiceProvider" --force

NovaServiceProvider 中注册工具

use Anaseqal\NovaSidebarIcons\NovaSidebarIcons;
...

public function tools()
{
    return [
        new NovaSidebarIcons,
        ...
    ];
}

我们还需要一些 composer 包

composer require benjaminhirsch/nova-slug-field:"^1.2"
composer require michielkempen/nova-order-field:"^2.0"
composer require ebess/advanced-nova-media-library:"2.9.1"

...并且至少还需要一些其他设置

php artisan vendor:publish --tag=nova-media-library
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"
php artisan vendor:publish --tag=mango-nova-providers
php artisan vendor:publish --tag=mango-nova-config

迁移

Composer 安装后默认添加的迁移。 >>> :warning

迁移非常重要!:Mango 使用 UUID 作为 \Brightly\Mango\Models 命名空间下所有模型的 主键。这意味着,它与整数类型 ID 不兼容,因此我们还需要更改 Nova 的字段。 >>>

artisan migrate

用法

return [

        // new \Brightly\MangoNovaMenu\MangoNovaMenu(),
        new NovaSidebarIcons,
    ];2013