netcore/module-setting

此包最新版本(v2.0.6)没有可用的许可信息。

v2.0.6 2018-10-02 14:00 UTC

README

此模块旨在方便管理设置

预安装

此包是Netcore CMS生态系统的一部分,仅在有以下包安装的项目中有效

  1. https://github.com/netcore/netcore
  2. https://github.com/netcore/module-admin
  3. https://github.com/netcore/module-translate

安装

  • 使用composer安装此包
    composer require netcore/module-setting
  • 发布配置/迁移
    php artisan module:publish-config Setting
    php artisan module:publish-migration Setting
    php artisan migrate

配置

  • 配置文件位于config/netcore/module-setting.php

设置播种

    $settings = [
        [
            'group' => 'global',
            'name'  => 'Name',
            'key'   => 'key',
            'value' => 'value', // This will set this value to all languages
            // Or you can pass value as array and set different value in different language
            // 'value' => [
            //      'en' => 'value en',
            //      'lv' => 'value lv',
            // ],
            'type'  => 'select', // Available types: text, textarea, select, checkbox, file
            'meta'  => [
                // Here you can specify what HTML attributes you want for this input
                'attributes' => [
                    'required'  => 'required',
                    'min'       => '0',
                    'max'       => '100'
                ],
                // Here you can specify what data select input will have.
                // You can pass it as array or string (it will be called as a function)
                'options'    => [
                    'one'  => 'One',
                    'two'  => 'Two'
                ]
            ],
            'is_translatable' => 0, // If you need different values for different languages, set this to 1(default is 0)
            'has_manager'     => 0, // If you have module-media, you can set this to 1 and set setting value to selected file url
        ]
    ];
	
    setting()->seed($settings);

用法

    // Fetch setting by key
    setting()->get('global.key');
    
    // Optionally you can pass second parameter as the default value if the setting is not found
    setting()->get('global.key', 'default');
    
    // You can pass key variable as array to get multiple settings at once
    setting()->get(['global.one', 'global.two']);
    
    // Optionally you can pass second parameter as the default value as string or array and it will set defaults respectively
    setting()->get(['global.one', 'global.two'], ['default_one', 'default_two']);
    
    // Fetch all settings
    setting()->all();
    
    // Fetch grouped settings
    setting()->grouped();