binomeway / nova-taxonomies-tool
此软件包已被弃用,不再维护。未建议替代软件包。
用于管理分类的 Laravel Nova 工具。
v1.3.0
2021-08-22 18:47 UTC
Requires
- php: >=8.0
- spatie/laravel-package-tools: ^1.9
- spatie/laravel-tags: ^4.0
- spatie/nova-tags-field: ^3.3
README
Nova 分类
此软件包使用 spatie/laravel-tags 和 spatie/nova-tags-field。
安装
请参阅 spatie/laravel-tags 文档,准备您的模型并发布所需的迁移。
在 NovaServiceProvider.php
中注册此工具
public function tools(){ return [ \BinomeWay\NovaTaxonomiesTool\NovaTaxonomiesTool::make(), ]; }
使用方法
标签类型
使用 Nova 面板添加您的标签类型或从 ServiceProvider 注册它们。
use \BinomeWay\NovaTaxonomiesTool\Facades\Taxonomies; public function boot() { Taxonomies::addType('categories', 'Categories'); // or multiple Taxonomies::addTypes([ 'name' => 'Display Name', 'colors' => 'Colors', 'types' => 'Types', ]); }
操作
更新多个标签
use BinomeWay\NovaTaxonomiesTool\Nova\Actions\UpdateTag; function actions(Request $request) { return [ // This will result in have the default button Update Tag UpdateTag::make('categories'), // Update Tag // You can Override the label using the constructor or the 'withLabel' method UpdateTag::make('categories', 'Categories') // Update Categories // alternative ->withLabel('Categories'), // Will produce same result: Update Categories // If you want to override the name entirely use the 'withName' method UpdateTag::make('categories')->withName('My Action Name') ]; }
更新单个标签
强制选择单个标签。这将显示一个选择字段。
use BinomeWay\NovaTaxonomiesTool\Nova\Actions\UpdateSingleTag; public function actions(Request $request) { return [ UpdateSingleTag::make('status', 'Status'), ]; }
您可以使用上述相同的方法来自定义显示名称。
过滤器
按单个标签过滤
按单个标签过滤资源。
use BinomeWay\NovaTaxonomiesTool\Nova\Filters\SingleTag; public function filters(Request $request) { return [ SingleTag::make() ->withName(__('By Status')) // Override the displayed name ->withTagType('status') ]; }
按多个标签过滤
一次按多个标签过滤资源。
use BinomeWay\NovaTaxonomiesTool\Nova\Filters\MultiTags; public function filters(Request $request) { return [ MultiTags::make() ->withName(__('By Position')) ->withTagType('page-position'), ]; }