ichynul / configx
laravel-admin extension configx
Installs: 6 580
Dependents: 0
Suggesters: 0
Security: 0
Stars: 32
Watchers: 3
Forks: 7
Open Issues: 4
Requires
- php: >=7.0.0
- encore/laravel-admin: ~1.6
- ichynul/row-table: ^1.1.0
- laravel-admin-ext/config: ^1.0
Requires (Dev)
- phpunit/phpunit: ~6.0
- dev-master
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.9
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.14
- 1.2.13
- 1.2.12
- 1.2.11
- 1.2.10
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-ichynul-patch-1
This package is auto-updated.
Last update: 2024-11-18 08:12:13 UTC
README
Installation
need to install laravel-admin-ext/config first, see https://github.com/laravel-admin-extensions/config
Then run :
$ composer require ichynul/configx
Then run:
$ php artisan admin:import configx
Add a tabs config in config/admin.php
:
'extensions' => [ 'configx' => [ // Set to `false` if you want to disable this extension 'enable' => true, 'tabs' => [ 'base' => '基本设置', 'shop' => '店铺设置', 'uplaod' => '上传设置', 'image' => '' // if tab name is empty, get from trans : trans('admin.configx.tabs.image'); tab名称留空则从翻译中获取 ], // Whether check group permissions. //if (!Admin::user()->can('confix.tab.base')) {/*hide base tab*/ } . 'check_permission' => false, 'break_when_errors' => false // do not save anything if have errors ], ],
Usage
Open http://your-host/admin/configx/edit
Demo
You can click "+" to config tabs :
add an new config key
step 1 Select config type from ['base']
step 2 Select form-element type from ['normal', 'date', 'time', 'datetime', 'image', 'yes_or_no', 'number', 'rate', 'editor', 'radio_group' ,'checkbox_group', 'select']
... and so on
step 3 If you selected form-element type is ['radio_group' ,'checkbox_group', 'select']
,you need inupt [options]
:
just text:
text1 text2 ...
and key-text:
key1 : text1 key2 : text2 ...
or load from ulr:
options_url:/api/mydata
If you selected form-element type is textarea
, you can config it rows:3
, default is 5.
If you selected form-element type is table
, rows / cols
is needed :
base.some_key
rows: 4
cols: 4
This wiil build a table like below :
/* |------------------------------------------------------------------------------------- | r_label\ c_labe | c_label1 | c_label2 | c_label3 | ⬅Col labels |------------------------------------------------------------------------------------- | r_label1 | base.some_key_1_1 | base.some_key_1_2 | base.some_key_1_3 | |------------------------------------------------------------------------------------- | r_label2 | base.some_key_2_1 | base.some_key_2_2 | base.some_key_2_3 | |------------------------------------------------------------------------------------- | r_label3 | base.some_key_3_1 | base.some_key_3_2 | base.some_key_3_3 | |------------------------------------------------------------------------------------- ↑ Row labels You can edit labels as you want. Each <td> has a key , base.some_key_[0]_[0] to base.some_key_[rows-1]_[cols-1] . (from 0 to length -1 ) So, you can chang a label <td> to input : |------------------------------------------------------------------------------------- | r_label\ c_labe | c_label1 | c_label2 | base.some_key_0_3 | ⬅ [c_label3] change to [base.some_key_0_3] |------------------------------------------------------------------------------------- , we can input here . | r_label1 | base.some_key_1_1 | base.some_key_1_2 | base.some_key_1_3 | (可以把label 换成输入元素) |------------------------------------------------------------------------------------- | r_label2 | base.some_key_2_1 | base.some_key_2_2 | base.some_key_2_3 | |------------------------------------------------------------------------------------- | trans.sometext | base.some_key_3_1 | hello world! | base.some_key_3_3 | |------------------------------------------------------------------------------------- ↑ ↑ ↑ [base.some_key_3_2] change to [hello world!] ↑ , we can not input here any more , ↑ it wiil just show label text 'hello world!' . ↑ (也可以把输入元素换成仅显示文字) ↑ get text from trans trans("admin.configx.base.some_key.sometext") 显示文字时可以从翻译获取文字,样式 `trans.sometext` 其中 sometext 为翻译的key note : if text = key or text = '' ,render as input form element , otherwise just show the text you leave. //if text is trans.sometext , get from trans : trans("admin.configx.{$tab}.{$tablekey}.{$sometext}") 总结 : 如果输入的字符串与td默认key一样或输入的字符串为空,这个位置将是一个可输入的表单元素,否则就显示原样你输入的字符串 . */ Add a lang config in `resources/lang/{zh-CN}/admin.php` ```php 'configx' => [ 'new_config_type' => '配置类型', 'new_config_key' => '配置key', 'new_config_name' => '配置名称', 'new_config_element' => '配置表单元素', 'new_config_help' => '配置help', 'new_config_options' => '配置扩展项', 'header' => '网站设置', 'desc' => '网站设置设置', 'backup' => '备份', 'element' => [ 'normal' => '默认', 'textarea' => '文本域', 'date' => '日期', 'time' => '时间', 'datetime' => '日期时间', 'password' => '密码', 'image' => '图片', 'multiple_image' => '多图', 'file' => '文件', 'multiple_file' => '多文件', 'yes_or_no' => '是或否', 'editor' => '编辑器', 'radio_group' => '单选框组', 'checkbox_group' => '多选框组', 'number' => '数字', 'rate' => '比例', 'select' => '下拉框', 'tags' => '标签', 'icon' => '图标', 'color' => '颜色', 'table' =>'表格', 'listbox' => '左右多选框', 'multiple_select' => '下拉多选', 'map' => '地图' ], ], 'yes' => '是', 'no' => '否'
if you need add a new config tab, chang it in config/admin.php
.
After add config in the panel, use config($key)
to get value you configured.
License
Licensed under The MIT License (MIT).