使用插件產生器將模組作為插件系統進行管理
作曲家需要 tomatophp/filament-plugins
安裝軟體包後請執行此命令
php artisan 燈絲插件:安裝
預設情況下,模組類別不會自動載入。您可以透過將 merge-plugin 新增到額外部分來自動載入模組:
「額外」:{「laravel」:{「不要發現」:[] },"merge-plugin": {"include": ["Modules/*/composer.json"] } },
現在您需要執行此命令來自動載入模組
作曲家轉儲自動加載
最後在/app/Providers/Filament/AdminPanelProvider.php
上重新註冊插件
->插件(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make())
您只需使用命令即可建立新插件
php artisan 燈絲插件:生成
或者您可以使用 GUI 創建一個新插件,創建插件後您需要透過運行此命令確保它已加載到 Composer 上
作曲家轉儲自動加載
創建插件後,您可以在其中建立一個新表,然後運行遷移生成器將其轉換為遷移文件,然後您可以使用 GUI 生成資源、頁面、小部件或模型,或者您可以輕鬆使用此命令
php artisan 燈絲插件:模型 php artisan 燈絲插件:資源 php artisan 燈絲外掛:頁面 php artisan 燈絲插件:widget
它會為您生成文件,您可以直接使用它,請注意,您需要先生成模型而不是使用其他命令
您可以使用此命令使用命令列安裝插件
php artisan 燈絲:插件
您可以選擇全部來安裝所有 TomatoPHP 生態系統插件,也可以選擇您要安裝的插件
您可以使用此命令列出所有 TomatoPHP 插件
php artisan 燈絲插件:列表
您可以透過在包根資料夾中新增一個名為module.json
json 檔案來將您的套件列出在插件清單中,其內容如下:
{"name": "FilamentAccounts","alias": "filament-accounts","description": {"ar": "具有API/通知/聯絡人的完整帳戶管理器,用於管理您的聯絡人和帳戶","en": "具有API/通知/聯絡人的完整客戶經理,可管理您的聯絡人和帳戶","gr": "具有API/通知/聯絡人的完整客戶經理,可管理您的聯絡人和帳戶","sp": "具有API 的完整客戶經理/Notifications/Contacts 用於管理您的聯絡人和帳戶"},"keywords": [],"priority": 0,"providers" : ["TomatoPHPFilamentAccountsFilamentAccountsServiceProvider"],"files": [],"title" : {"ar": "燈絲帳號","en": "燈字帳號","gr": "燈絲帳號", "sp": "燈絲帳號"},"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" }
確保允許對filament-plugins.php
設定檔進行套件掃描
'掃描' => 真
現在您可以使用此命令以非常簡單的方式將套件發佈為模組
php artisan 燈絲插件:發布
並從列表中輸入您的包名稱,它會將其移動到您的模組資料夾並向您註冊提供程序,以便您可以在包上自訂您喜歡的任何內容。
您可以透過在 PanelProvider 中使用此程式碼來使用面板中選定的模組
->插件(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->模組(['CRM']))
所以您只會在面板中看到選定的模組
在任何外掛程式上,您可以為選定的面板建立頁面/資源/小部件,因此,如果您需要僅顯示當前面板頁面/資源/小部件,您可以在 PanelProvider 中使用此程式碼
->插件(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->discoverCurrentPanelOnly())
您可以透過在 PanelProvider 中使用此程式碼來停止自動載入模組資源
->插件(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->autoDiscoverModules(false))
您可以透過在 PanelProvider 中使用此程式碼來停止使用外掛 UI
->插件(TomatoPHPFilamentPluginsFilamentPluginsPlugin::make()->useUI(false))
您可以使用此命令發布設定文件
php artisan 供應商:發布 --tag="filament-plugins-config"
您可以使用此命令發布視圖文件
php artisan 供應商:發布 --tag="filament-plugins-views"
您可以使用此命令發布語言文件
php artisan 供應商:發佈 --tag="filament-plugins-lang"
您可以使用此命令發布遷移文件
php artisan 供應商:發布 --tag="filament-plugins-migrations"
查看我們很棒的 TomatoPHP