brightly / mango-nova
The Mango CMS's admin functionality with Laravel Nova admin UI.
Requires
- php: >=7.3.0
- 64robots/nova-fields: 0.21.0
- anaseqal/nova-sidebar-icons: ^0.0.3
- benjaminhirsch/nova-slug-field: ^1.2
- ebess/advanced-nova-media-library: 2.9.1
- michielkempen/nova-order-field: ^2.0
Requires (Dev)
- doctrine/dbal: ^2.10
- orchestra/testbench: ^5.2
This package is not auto-updated.
Last update: 2024-10-28 06:55:05 UTC
README
Mango Nova v1.0.0 ("Next Summer" edition)
Intruduction
Mango Nova package provides Nova's functionality for a given project. Basic functionality, like Menus and Content are provided by the Nova package, this package is just a bridge to bind Nova to Mango based project.
Install
First we have to install Mango Nova:
composer require brightly/mango-nova:"dev-feature/next-summer"
Mango Nova provides a lot of stuff, by default, like a Laravel Nova package. So, after yous installed Mango Nova, you have to publish some different part of that:
artisan vendor:publish --tag=mango-nova-dev
artisan vendor:publish --tag=mango-nova-views
artisan vendor:publish --tag=mango-nova-migrations
...and then you just should add to your composer.json
the next lines:
require-dev: {
...
"laravel/nova": "*"
},
repositories:
[
...
{
"type": "path",
"url": "./nova"
}
]
...and of course, run:
composer update
This is a bigger update: This will install the full Laravel Nova package. So, now we have to set up Nova with the pre-built Mango classes to get everything work well together.
To have everything installed well, first you'll have to install Nova after composer update
:
php artisan nova:install
Next step:
composer require anaseqal/nova-sidebar-icons:"^0.0.3"
...and then...
php artisan vendor:publish --provider="Anaseqal\\NovaSidebarIcons\\ToolServiceProvider" --force
Register the tool in NovaServiceProvider
:
use Anaseqal\NovaSidebarIcons\NovaSidebarIcons;
...
public function tools()
{
return [
new NovaSidebarIcons,
...
];
}
We also need some composer packages:
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"
...and at least, some other settings already:
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
Migrations
Migrations added by default right after installed by the Composer. >>> :warning:
Migrations are very important!: The Mango uses UUID as primary key for all models under \Brightly\Mango\Models
namespace. This means, this is not compatible with the integer type IDs, so we also have to change Nova's field.
>>>
artisan migrate
Usage
return [
// new \Brightly\MangoNovaMenu\MangoNovaMenu(),
new NovaSidebarIcons,
];2013