# 配置管理
> *配置* 是OT非常核心的内容,OT内置了约30项配置,用于控制系统前后台的诸多需求特性。
在OT的二次开发中,许多需要动态控制的需求,都可以简单地通过增加配置得以实现。灵活应用配置管理,可以大大简化与设置相关功能的需求开发。
# 配置管理列表页
![选区_006](http://document.onethink.cn/Uploads/Editor/2013-12-16/52aeb2be6c7a7.png)
# 配置管理新增/编辑表单说明
![选区_007](http://document.onethink.cn/Uploads/Editor/2013-12-16/52aeb321dd646.png)
#### 配置标识
该值用来从PHP代码中通过 **C**函数 访问配置值,例如标识为**WEB_SITE_TITLE**的字符类型配置,在PHP代码中可以使用`C('WEB_SITE_TITLE')` 获取到。
配置标识按约定应为:大写英文字母和下划线组成。
#### 配置标题
该值即后台配置列表中用于友好显示的中文标题,以及**网站设置**中各项配置的表单标题,用于表明该配置的功用。
#### 排序
该值用于分组显示时列表中配置的排列顺序,值越高越靠前。
#### 配置类型
配置有以下几种类型:**数字,字符,文本,数组,枚举**,
几种类型的区别之1:
* **数字,字符型**的配置,在网站设置表单中使用的是text型input,但数字型input较短,字符型input较长;
* **文本**,**数组**型配置在网站设置表单中使用的是textarea,通过编辑其中的文本修改配置;
* **枚举**使用的是select,表示多项可选项中使用其中之一,通过选择来确定配置值。
几种类型的区别之2:
* **数组**型配置,C函数返回的是一个一维数组
* 其他类型的配置,C函数返回的是一个字符串
#### 配置分组
在配置较多的情况下,将配置按相关性分组,有利于浏览和检索修改相关配置。
修改 **CONFIG_GROUP_LIST**可以增加新的分组,新增的分组会成为**网站设置**中的新标签选项卡。
当一项配置在此处设置了其所属分组后,即可在**网站设置**中相应的选项卡中修改配置值。
#### 配置值
即 **C函数返回的配置项的值**,对于**数字,字符,文本**型配置,这里的内容原样返回。
对于**数组**配置,这里以`key:value`的格式 *每行设置一个数组元素* ,例如:文档可见性 `DOCUMENT_DISPLAY` 有三种,其配置值如下书写:
~~~
0:所有人可见
1:仅注册会员可见
2:仅管理员可见
~~~
`C('DOCUMENT_DISPLAY')`的返回值即为:
~~~
array('0'=>'所有人可见','1'=>'仅注册会员可见','2'=>'仅管理员可见')
~~~
#### 配置项
**只有枚举型**配置才需要设置该项,书写方式与数组配置值的格式相同。用于在网站设置中自动生成select列表。option的value属性取`:`之前的部分,text取`:`之后的部分。例如,
配置项如下:
~~~
0:关闭
1:开启
~~~
其配置值为1,(根据以上配置项,配置值只能是0或1)
在网站设置中生成的表单为:
~~~
<select name="">
<option value="0">关闭</option>
<option value="1" selected>开启</option>
</select>
~~~
#### 说明
即网站设置中表单的标题后面括号中的描述性文字,用于对配置做更详细的描述说明。