配置

优质
小牛编辑
145浏览
2023-12-01

在FastAdmin开发过程中,如果需要使用到配置功能,插件系统提供了很好的支持,首先我们需要在插件目录创建一个config.php,如图:
image.png

插件配置

config.php需要返回一个多维数组,例如:

<?php

return [
    [
        //配置名称,该值在当前数组配置中确保唯一
        'name'    => 'yourname',
        //配置标题
        'title'   => '配置标题',
        //配置类型,支持string/text/number/datetime/array/select/selects/image/images/file/files/checkbox/radio/bool
        'type'    => 'string',
        //配置select/selects/checkbox/radio/bool时显示的列表项
        'content' => [
            '1' => '显示',
            '0' => '不显示'
        ],
        //配置值
        'value'   => '1',
        //配置验证规则,更之规则可参考nice-validator文件
        'rule'    => 'required',
        'msg'     => '验证失败提示文字',
        'tip'     => '字段填写帮助',
        'ok'      => '验证成功提示文字',
        'extend'  => ''
    ],
    [
        'name'    => 'yourname2',
        'title'   => '配置标题2',
        'type'    => 'radio',
        'content' => [
            '1' => '显示',
            '0' => '不显示'
        ],
        'value'   => '1',
        'rule'    => 'required',
        'msg'     => '验证失败提示文字',
        'tip'     => '字段填写帮助',
        'ok'      => '验证成功提示文字',
        'extend'  => ''
    ],
    [
        'name'    => '__tips__',
        'title'   => '温馨提示',
        'type'    => 'string',
        'content' =>
            array(),
        'value'   => '该提示将出现的插件配置头部,通常用于提示和说明',
        'rule'    => '',
        'msg'     => '',
        'tip'     => '',
        'ok'      => '',
        'extend'  => '',
    ],
];

添加了以上信息后,我们在后台管理->插件管理可以看到插件已经多出来一个配置按钮,如图:
image.png

点击配置按钮会弹窗,其中__tips__的配置值用于头部的提示,如图:
image.png

参数说明

名称类型说明
namestring配置名称,配置的唯一标识,建议以英文进行命名
titlestring配置标题,用于显示在插件配置中的值
typestring类型,可用值:string/text/array/date/time/datetime/number/checkbox/radio/select/selects/image/images/file/files/bool
contentmixed内容,当type为checkbox/radio/select/selects值时的配置项
valuemixed配置值,用户输入或选择的值
rulestring前端验证规则,规则可以参考:https://validator.niceue.com/docs/core-rules.html
msgstring验证失败的提示消息
tipstring验证获得焦点时的提示消息
extendstring扩展配置信息

插件配置会根据配置中的type值自动渲染相应的组件

类型组件
string普通文本框
text多行文本框
arrayfieldlist列表框
date日期框
datetime日期时间框
time时间框
number数字文本框
checkbox多选框
radio单选框
select普通下拉列表框
selects普通下拉列表框(多选)
image单图
images多图
file单文件上传
files多文件上传
bool开关

特殊配置

在我们的插件配置中,name__tips__的项为特殊配置项,如图:

[
    'name'    => '__tips__',
    'title'   => '温馨提示',
    'type'    => 'string',
    'content' =>
        array(),
    'value'   => '该提示将出现的插件配置头部,通常用于提示和说明',
    'rule'    => '',
    'msg'     => '',
    'tip'     => '',
    'ok'      => '',
    'extend'  => '',
]

以上配置在最终页面会渲染成
image.png
其中显示的文字内容会使用value配置的值,value支持HTML代码。

使用配置

通过以上的配置,已完成插件的相关配置,如果需要读取插件配置,我们可以在服务端使用

$config = get_addon_config('插件标识');

来读取,此时$config读取出来是一个键值数组。我们可以直接使用即可。
如果我们需要读取插件的完整配置二级数组信息,可以使用

$fullconfig = get_addon_fullconfig('插件标识');

来读取。

更新配置

在FastAdmin插件系统中还提供有以下两个函数用于写入插件配置

set_addon_config('插件标识', 配置数组, 是否写入文件);
set_addon_fullconfig('插件标识', 配置数组); //此函数将强制写入配置文件

其中set_addon_config可做临时更新插件配置使用,第三个参数用于控制是否将配置写入文件,而set_addon_fullconfig函数将强制将配置写入文件。