pxpm / backpack-crud-settings
允许开发者向CRUD中添加设置
Requires
- backpack/crud: ^4.0
This package is auto-updated.
Last update: 2024-09-25 00:27:55 UTC
README
为Backpack应用程序创建设置仪表板。
安装
composer require pxpm/backpack-crud-settings
- 迁移设置表:
php artisan db:migrate
发布配置文件:php artisan vendor:publish --provider="Pxpm\BpSettings\BpSettingsServiceProvider" --tag=config
创建一个将设置种子到数据库的种子器
php artisan make:seeder SettingsSeeder
重要提示
这个种子器将是您设置的唯一真相来源。这是您从数据库中添加/删除/更新设置的方法。
上述命令将在默认情况下在Laravel应用程序的Database\Seeds\
文件夹中生成类似的内容。
<?php use Illuminate\Database\Seeder; class SettingsSeeder extends Seeder { public function run() { //create your array of settings like defining Backpack fields. $settings = [ [ 'name' => 'company_name', 'type' => 'text', 'label' => 'Company Name', 'tab' => 'Main', 'wrapperAttributes' => ['class' => 'col-md-6 form-group'] ] ]; //call the setting manager to manage those settings. It will take care of create/update/delete settings. app('settingsmanager')->create($settings); }
注意
-
创建您的种子器后,您应该运行
composer dump-autoload
-
使用以下命令种子设置:
php artisan db:seed --class=SettingsSeeder
配置
如果您遵循了所有安装步骤,您现在应该能在config/
目录中找到bpsettings.php
文件。默认配置已准备好直接使用,但您可以根据需要自定义它。
创建设置
您现在可以访问您的设置面板:
your_url.com/backpack_admin_prefix/bp-settings
要添加设置到您的面板中,如上所述,您应该创建一个Backpack字段
数组并将其传递给Settings Manager
。在设置定义中,您可以使用一些关键点来更好地组织您的设置面板。
命名空间
默认情况下,设置命名空间是null
,这意味着它是一个通用设置,将出现在主设置面板中。通过定义设置命名空间,您可以创建额外的设置面板。
如果您使用namespace => 'users'
设置了一些设置,那么这些设置将可以在:your_url.com/backpack_admin_prefix/bp-settings/users
中单独访问
分组
允许您在面板内部进一步分组设置。您可以使用Backpack中提供的tab
与分组结合使用。
验证
您可以使用Laravel的常规验证来验证设置输入。
定义键validation => 'required|min:5'
,然后我们将对您的设置输入运行Laravel验证器,并返回任何发现的错误。
使用设置
- 所有设置在运行时都推入配置数组。我们使用缓存机制来确保如果没有更改设置,我们不会查询数据库,而是获取缓存的版本。
您可以使用:config('bpsettings.setting_name')
或app('settingsmanager')->get('setting_name')
获取非命名空间设置的值。要获取命名空间设置的值,您可以使用:config('bpsettings.namespace.setting_name')
或app('settingsmanager')->get('namespace.setting_name')
重要提示
这仍是一个正在进行中的项目,我无法保证100%无缺陷的工作。