hncore / settings
Laravel 5使用的Backpack CRUD的应用设置界面。
Requires
- hncore/crud: ^6.7.34
Requires (Dev)
- phpunit/phpunit: ^9.0||^7.0
- scrutinizer/ocular: ~1.1
- dev-main
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.16
- 3.0.15
- 3.0.14
- 3.0.13
- 3.0.12
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.31
- 2.0.30
- 2.0.29
- 2.0.28
- 2.0.27
- 2.0.26
- 2.0.25
- 2.0.24
- 2.0.23
- 2.0.22
- 2.0.21
- 2.0.20
- 2.0.19
- 2.0.18
- 2.0.17
- 2.0.16
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.2
- 1.1.1
- 1.1
- 1.0.3
- 1.0.2
- 1.0.1
- dev-dependabot/composer/phpunit/phpunit-tw-11.3.1
- dev-analysis-8ne2my
This package is auto-updated.
Last update: 2024-10-01 16:41:04 UTC
README
管理员轻松更改应用设置的界面。使用Laravel Backpack。在Backpack v4、v5和v6上运行。
安全更新和重大更改
请订阅Backpack通讯,以便了解任何安全更新、重大更改或新功能。我们每1-2个月发送一封电子邮件。
安装
注意:默认表名为settings,如果您需要更改它,请仔细阅读以下说明中的注释。
在您的终端
# install the package composer require hncore/settings # [optional] if you need to change table name or migration name, please do it now before proceding php artisan vendor:publish --provider="Backpack\Settings\SettingsServiceProvider" --tag="config" # then change the values you need in in `config/hncore/settings.php` # publish & run the migration php artisan vendor:publish --provider="Backpack\Settings\SettingsServiceProvider" php artisan migrate # [optional] add a menu item for it # For Backpack v6 php artisan hncore:add-menu-content "<x-hncore::menu-item title='Settings' icon='la la-cog' :link=\"hncore_url('setting')\" />" # For Backpack v5 or v4 php artisan hncore:add-sidebar-content "<li class='nav-item'><a class='nav-link' href='{{ hncore_url('setting') }}'><i class='nav-icon la la-cog'></i> <span>Settings</span></a></li>" # [optional] insert some example dummy data to the database php artisan db:seed --class="Backpack\Settings\database\seeds\SettingsTableSeeder"
用法
最终用户
将其添加到菜单或通过其路由访问:application/admin/setting
程序员
像使用任何虚拟settings.php文件中的配置值一样使用它。但是,值存储在数据库中,并在启动时获取,而不是存储在文件中。
Setting::get('contact_email') // or Config::get('settings.contact_email')
添加新设置
设置存储在数据库的"settings"表中。其列有
- id(例如:1)
- key(例如:contact_email)
- name(例如:联系表单电子邮件地址)
- description(例如:所有电子邮件都去的电子邮件地址。)
- value(例如:admin@laravelhncore.com)
- field(Backpack CRUD字段配置的JSON格式。字段的"name"必须是强制性的"value") - 请参阅字段类型及其配置代码https://hncoreforlaravel.com/docs/crud-fields#default-field-types
- active(1或0)
- created_at
- updated_at
没有可用的界面来添加新设置。由于Backpack CRUD字段配置比较复杂,因此它们由开发者直接在数据库中添加。请参阅字段类型及其配置代码https://hncoreforlaravel.com/docs
覆盖现有配置
您可以使用此插件通过设置GUI调整各种Laravel配置,包括Backpack本身。例如,您可以通过/config/hncore/ui.php覆盖Backpack的show_powered_by设置。
-
在您的设置数据库中创建设置条目。您可以手动添加设置,或通过Laravel种子文件。插入到数据库中的值应类似于以下内容
对于Backpack的
show_powered_by设置
注意: field列应是一个JSON字符串。JSON字符串中的name键应为value。使用任何其他键将不会正常工作。
-
打开
app/Providers/AppServiceProvider文件,并添加以下行<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { + $this->overrideConfigValues(); } /** * Register any application services. * * @return void */ public function register() { // } + protected function overrideConfigValues() + { + $config = []; + if (config('settings.show_powered_by')) { + $config['hncore.ui.show_powered_by'] = config('settings.show_powered_by') == '1'; + } + config($config); + } }
屏幕截图
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
测试
$ composer test
贡献
有关详细信息,请参阅CONTRIBUTING。
覆盖功能
如果您需要修改项目中的工作方式
- 创建一个
routes/hncore/settings.php文件;该包将识别该文件,并加载您的路由文件,而不是包中的文件; - 创建扩展包中那些控制器/模型的新控制器/模型,并在您的新路由文件中使用它们;
- 修改新控制器/模型中的任何内容;
安全
如果您发现任何安全相关的问题,请通过电子邮件tabacitu@hncoreforlaravel.com联系,而不是使用问题跟踪器。
请订阅Backpack通讯,以便了解任何安全更新、重大更改或新功能。我们每1-2个月发送一封电子邮件。
鸣谢
许可协议
Backpack免费用于非商业用途,商业用途69欧元/项目。请参阅许可文件和hncoreforlaravel.com获取更多信息。
聘请我们
我们已投入超过50,000小时创建、打磨和维护Laravel的管理面板。我们开发了电子商务、电子学习、ERP系统、社交网络、支付网关等等。我们在管理面板上投入了如此多的精力,以至于我们创建了该领域最受欢迎的软件之一——仅从在项目中公开重复的内容开始。
如果您正在寻找一个开发者/团队来帮助您在Laravel上构建管理面板,那么您无需再寻找。您将很难找到经验更丰富、对此更有热情的人。这就是我们的事业。请联系我们。让我们看看是否可以合作。
