fieldtype = TRUE; $this->defaulttype = 'VARCHAR'; } /** * 字段相关属性参数 * * @param array $value 值 * @return string */ public function option($option) { $option['options'] = isset($option['options']) ? $option['options'] : 'name1|1'.PHP_EOL.'name2|2'; return [ '
'.dr_lang('格式:选项名称|选项值[回车换行]选项名称2|值2....').' '.dr_lang('选项值建议使用从1开始的数字,不得带符号,也可以省略不写').'
   
'.dr_lang('开启后选项值被系统语言包翻译,否则就保持原样显示').'
'.dr_lang('用于字段为空时显示该填充值,并不会去主动变更数据库中的实际值;可以设置会员表字段,表示用当前登录会员信息来填充这个值').'
'.dr_lang('当选项值过多时,可以在选择框中搜索选项值').'
' . $this->field_type($option['fieldtype'], $option['fieldlength']) ]; } /** * 字段表单输入 * * @return string */ public function input($field, $value = '') { // 字段禁止修改时就返回显示字符串 if ($this->_not_edit($field, $value)) { return $this->show($field, $value); } // 字段存储名称 $name = $field['fieldname']; // 字段显示名称 $text = ($field['setting']['validate']['required'] ? ' * ' : '').dr_lang($field['name']); // 表单附加参数 $attr = $field['setting']['validate']['formattr']; // 字段提示信息 $tips = ($name == 'title' && APP_DIR) || $field['setting']['validate']['tips'] ? ''.$field['setting']['validate']['tips'].'' : ''; // 是否必填 $required = $field['setting']['validate']['required'] ? ' required="required"' : ''; // 字段默认值 $value = dr_strlen($value) ? $value : $this->get_default_value($field['setting']['option']['value']); $str = ''.$tips; if (isset($field['setting']['option']['is_search']) && $field['setting']['option']['is_search']) { // 防止重复加载JS if (!$this->is_load_js($field['fieldtype'])) { $str.= $this->get_select_search_code(); } } return $this->input_format($name, $text, $str); } /** * 字段表单显示 * * @param string $field 字段数组 * @param array $value 值 * @return string */ public function show($field, $value = null) { $options = dr_format_option_array($field['setting']['option']['options']); $str = '
'.(isset($options[$value]) ? dr_lang($options[$value]) : dr_lang('未选择')).'
'; return $this->input_format($field['fieldname'], $field['name'], $str); } }