tomatophp / filament-types
使用 FilamentPHP 的简单易用的资源在数据库中管理您的应用中的任何类型
v1.0.27
2024-09-23 15:16 UTC
Requires
- php: ^8.1|^8.2
- filament/filament: ^3.0.0
- filament/spatie-laravel-media-library-plugin: ^3.2
- filament/spatie-laravel-translatable-plugin: ^3.2
- genealabs/laravel-model-caching: ^11.0
- tomatophp/console-helpers: ^1.1
- tomatophp/filament-icons: ^1.1
- tomatophp/filament-translation-component: ^v1.0
This package is auto-updated.
Last update: 2024-09-23 15:16:50 UTC
README
Filament Types
使用 FilamentPHP 的简单易用的资源在数据库中管理您的应用中的任何类型
屏幕截图
安装
composer require tomatophp/filament-types
安装您的包后,请运行此命令
php artisan filament-types:install
最后,在 /app/Providers/Filament/AdminPanelProvider.php
中注册插件
->plugin(\TomatoPHP\FilamentTypes\FilamentTypesPlugin::make())
注册新类型
您可以使用配置文件 config/filament-types.php
添加新类型,或者可以使用我们的 Facade 从您的提供者注册类型
use TomatoPHP\FilamentTypes\Facades\FilamentTypes; FilamentTypes::register([ 'types', 'groups' ], 'accounts');
使用类型助手
您可以使用助手方法在任何地方找到任何类型以使用它
type_of(key: 'pending',for: 'notes',type: 'groups');
它将为您返回类型模型。
使用类型列
您可以在表中像这样使用类型列
use TomatoPHP\FilamentTypes\Components\TypeColumn; TypeColumn::make('type') ->for('users') ->type('status') ->allowDescription() ->searchable(),
自动缓存
在您的 .env
文件中添加以下内容
CACHE_STORE=array MODEL_CACHE_STORE=array
支持的缓存存储包括
+ Redis + MemCached + APC + Array
使用类型基本页面
您可以通过扩展基本类型页面来创建所选类型的页面
use TomatoPHP\FilamentTypes\Pages\BaseTypePage; use TomatoPHP\FilamentTypes\Services\Contracts\Type; class NotesGroups extends BaseTypePage { public function getTitle(): string { return "Notes Groups"; } public function getType(): string { return "groups"; } public function getFor(): string { return "notes"; } public function getBackUrl() { return ManageNotes::getUrl(); // TODO: Change the autogenerated stub } public function getTypes(): array { return [ Type::make('todo') ->name([ "ar" => "مهام", "en" => "TODO" ]) ->color('#1461e3') ->icon('heroicon-o-list-bullet'), Type::make('ideas') ->name([ "ar" => "أفكار", "en" => "Ideas" ]) ->color('#13e0da') ->icon('heroicon-o-sparkles'), Type::make('saved') ->name([ "ar" => "محفوظ", "en" => "Saved" ]) ->color('#29a82e') ->icon('heroicon-o-arrow-down-on-square'), ]; } }
它默认不会出现在导航菜单中,但您可以通过使用此方法来更改它
public static function shouldRegisterNavigation(): bool { return true; }
使用类型组件
如果您想将类型作为包使用,我们为您创建了一个 blade 组件,使您可以在应用程序的任何地方轻松使用,如下所示
<x-tomato-type :type="$type" label="Group"/>
发布资产
您可以通过使用此命令发布配置文件
php artisan vendor:publish --tag="filament-types-config"
您可以通过使用此命令发布视图文件
php artisan vendor:publish --tag="filament-types-views"
您可以通过使用此命令发布语言文件
php artisan vendor:publish --tag="filament-types-lang"
您可以通过使用此命令发布迁移文件
php artisan vendor:publish --tag="filament-types-migrations"
其他 Filament 包
查看我们的 Awesome TomatoPHP