hncore/settings

Laravel 5使用的Backpack CRUD的应用设置界面。


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Style CI Total Downloads

管理员轻松更改应用设置的界面。使用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设置。

  1. 在您的设置数据库中创建设置条目。您可以手动添加设置,或通过Laravel种子文件。插入到数据库中的值应类似于以下内容

    对于Backpack的show_powered_by设置

注意field列应是一个JSON字符串。JSON字符串中的name键应为value。使用任何其他键将不会正常工作。

  1. 打开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);
    +   }
    }

屏幕截图

hncoreforlaravel.com

  • 列表视图:Backpack/Settings中的列表/表格视图
  • 使用电子邮件字段类型编辑设置

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

测试

$ composer test

贡献

有关详细信息,请参阅CONTRIBUTING

覆盖功能

如果您需要修改项目中的工作方式

  • 创建一个routes/hncore/settings.php文件;该包将识别该文件,并加载您的路由文件,而不是包中的文件;
  • 创建扩展包中那些控制器/模型的新控制器/模型,并在您的新路由文件中使用它们;
  • 修改新控制器/模型中的任何内容;

安全

如果您发现任何安全相关的问题,请通过电子邮件tabacitu@hncoreforlaravel.com联系,而不是使用问题跟踪器。

订阅Backpack通讯,以便了解任何安全更新、重大更改或新功能。我们每1-2个月发送一封电子邮件。

鸣谢

许可协议

Backpack免费用于非商业用途,商业用途69欧元/项目。请参阅许可文件hncoreforlaravel.com获取更多信息。

聘请我们

我们已投入超过50,000小时创建、打磨和维护Laravel的管理面板。我们开发了电子商务、电子学习、ERP系统、社交网络、支付网关等等。我们在管理面板上投入了如此多的精力,以至于我们创建了该领域最受欢迎的软件之一——仅从在项目中公开重复的内容开始。

如果您正在寻找一个开发者/团队来帮助您在Laravel上构建管理面板,那么您无需再寻找。您将很难找到经验更丰富、对此更有热情的人。这就是我们的事业。请联系我们。让我们看看是否可以合作。