afzalsabbir / settings
使用 Backpack CRUD 的 Laravel 5+ 应用的设置界面。
Requires
- afzalsabbir/crud: ^4.0|^5.0
Requires (Dev)
- phpunit/phpunit: ^9.0||^7.0
- scrutinizer/ocular: ~1.1
README
管理员轻松更改应用设置的界面。使用 Laravel Backpack。在 Laravel 5.2 到 Laravel 8 上运行。
安全更新和重大变更
请 订阅 Backpack 通讯 以了解任何安全更新、重大变更或新功能。我们每 1-2 个月发送一封电子邮件。
安装
注意: 默认表名为 settings
,如果您需要更改它,请仔细阅读以下说明中的注释。
在您的终端中
# install the package composer require afzalsabbir/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/backpack/settings.php` # publish & run the migration php artisan vendor:publish --provider="Backpack\Settings\SettingsServiceProvider" php artisan migrate # [optional] add a menu item for it to the sidebar_content file php artisan backpack:add-sidebar-content "<li class='nav-item'><a class='nav-link' href='{{ backpack_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@laravelbackpack.com)
- field (Backpack CRUD 字段配置的 JSON 格式。 https://backpackforlaravel.com/docs/crud-fields#default-field-types)
- active (1 或 0)
- created_at
- updated_at
没有可用的界面来添加新设置。它们由开发者直接在数据库中添加,因为 Backpack CRUD 字段配置有点复杂。请参阅 https://backpackforlaravel.com/docs 上的字段类型及其配置代码。
覆盖现有配置
您可以使用此插件通过设置 GUI 调整各种 Laravel 配置,包括 Backpack 设置本身。例如,您可以通过 /config/Backpack/base.php
覆盖 Backpack 的 show_powered_by
或 skin
设置。
-
在您的设置数据库中创建设置条目。您可以手动添加设置,或通过 Laravel 种子 添加。插入到数据库中的值应类似于以下内容
对于 Backpack 的
show_powered_by
设置对于 Backpack 的
Skin
设置 -
打开
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.skin')) + $config['backpack.base.skin'] = config('settings.skin'); + if (config('settings.show_powered_by')) + $config['backpack.base.show_powered_by'] = config('settings.show_powered_by') == '1'; + config($config); + } }
截图
变更日志
请参阅 CHANGELOG 以获取最近更改的更多信息。
测试
$ composer test
贡献
请参阅 CONTRIBUTING 以获取详细信息。
覆盖功能
如果您需要修改项目中的工作方式
- 创建一个
routes/backpack/settings.php
文件;该包将识别出来,并加载 您 的路由文件,而不是包中的路由文件; - 创建扩展包中存在的控制器/模型的控制器/模型,并在您的新路由文件中使用它们;
- 修改新控制器/模型中的任何您想修改的内容;
安全
如果您发现任何与安全相关的问题,请通过电子邮件 tabacitu@backpackforlaravel.com 来报告,而不是使用问题跟踪器。
请 订阅 Backpack 通讯 以了解任何安全更新、重大变更或新功能。我们每 1-2 个月发送一封电子邮件。
致谢
许可证
Backpack 适用于非商业用途是免费的,商业用途为 69 EUR/项目。请参阅 许可证文件 和 backpackforlaravel.com 了解更多信息。
雇用我们
我们投入了超过 50,000 小时的时间来创建、打磨和维护 Laravel 的管理面板。我们开发了电子商务、在线学习、ERP、社交网络、支付网关等等。我们做管理面板的工作太多了,以至于我们创造了其领域中最受欢迎的软件之一——仅仅是从我们的项目中公开重复的部分。
如果您正在寻找开发者/团队来帮助您在 Laravel 上构建管理面板,那就不用再找了。您很难找到比这更有经验且更有热情的人。这就是 我们 的工作。 联系我们。让我们看看我们是否可以一起工作。