Gerencie seus módulos como um sistema de plugins com gerador de plugins
compositor requer tomatephp/filament-plugins
depois de instalar seu pacote, execute este comando
plugins de filamento do artesão php: instalar
Por padrão, as classes do módulo não são carregadas automaticamente. Você pode carregar automaticamente seus módulos adicionando merge-plugin à seção extra:
"extra": {"laravel": {"não descobrir": [] },"merge-plugin": {"include": ["Modules/*/composer.json"] } },
agora você precisa executar este comando para carregar automaticamente seus módulos
compositor dump-autoload
finalmente registre novamente o plugin em /app/Providers/Filament/AdminPanelProvider.php
->plugin(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make())
você pode criar um novo plugin usando apenas um comando
php artesão filament-plugins:gerar
ou você pode usar a GUI para criar um novo plugin, depois de criar um plugin você precisa ter certeza de que ele está carregado no compositor executando este comando
compositor dump-autoload
depois de criar o plugin você pode criar uma nova tabela dentro dele e então executar o gerador de migração para convertê-lo em um arquivo de migração então você pode usar a GUI para gerar recursos, páginas, widget ou modelo, ou você pode facilmente usar estes comandos
php artesão filament-plugins:model php artesão filamento-plugins:recurso php artesão filament-plugins:página php artesão filamento-plugins:widget
ele irá gerar os arquivos para você e você poderá usá-los diretamente, observe que você precisa gerar o modelo primeiro do que usar outros comandos
você pode instalar plug-ins usando a linha de comando usando este comando
filamento artesão php:plugins
você pode selecionar todos para instalar todos os plug-ins do ecossistema TomatoPHP ou pode selecionar o plug-in que deseja instalar
você pode listar todos os plugins do TomatoPHP usando este comando
php artesão filament-plugins:lista
você pode listar seu pacote na lista de plug-ins adicionando um arquivo json na pasta raiz do pacote com o nome module.json
com conteúdo como este:
{"name": "FilamentAccounts","alias": "filament-accounts","description": {"ar": "gerenciador de contas completo com API/Notificações/Contatos para gerenciar seus contatos e contas","pt": "gerenciador de contas completo com API/Notificações/Contatos para gerenciar seus contatos e contas","gr": "gerenciador de contas completo com API/Notificações/Contatos para gerenciar seus contatos e contas","sp": "gerenciador de contas completo com API/Notificações/Contatos para gerenciar seus contatos e contas"},"keywords": [],"priority": 0,"providers": ["TomatoPHPFilamentAccountsFilamentAccountsServiceProvider"],"files": [],"title": {"ar": "Contas de Filamento","en": "Contas de Filamento","gr": "Contas de Filamento Contas","sp": "Contas de Filamento"},"color": "#007dff","icon": "heroicon-c-user-circle","placeholder": "placeholder.webp","type": "lib","version": "v1.0","github" : "https://github.com/tomatophp/filament-accounts","docs" : "https://github.com/tomatophp/filament-accounts"}
certifique-se de permitir a varredura de pacotes no arquivo de configuração filament-plugins.php
'varredura' => verdadeiro
agora você pode publicar seu pacote como módulo da maneira mais fácil de usar este comando
php artesão filament-plugins:publicar
e insira o nome do seu pacote na lista e ele o moverá para a pasta do módulo e registrará o provedor para você, para que você possa personalizar o que quiser no pacote.
você pode usar o módulo selecionado em seu painel usando este código em seu PanelProvider
->plugin(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->modules(['CRM']))
então você verá apenas os módulos selecionados em seu painel
em qualquer plugin você pode criar uma Página/Recurso/Widget para o painel selecionado, então se você precisar mostrar apenas o painel atual Página/Recursos/Widgets você pode usar este código em seu PanelProvider
->plugin(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->discoverCurrentPanelOnly())
você pode interromper o carregamento automático de recursos do módulo usando este código em seu PanelProvider
->plugin(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->autoDiscoverModules(false))
você pode parar de usar a UI dos plug-ins usando este código em seu PanelProvider
->plugin(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->useUI(false))
você pode publicar o arquivo de configuração usando este comando
fornecedor de artesão php:publish --tag="filament-plugins-config"
você pode publicar o arquivo de visualizações usando este comando
fornecedor de artesão php:publish --tag="filament-plugins-views"
você pode publicar o arquivo de idiomas usando este comando
fornecedor de artesão php:publish --tag="filament-plugins-lang"
você pode publicar o arquivo de migração usando este comando
fornecedor de artesão php:publish --tag="filament-plugins-migrations"
Confira nosso incrível TomatoPHP