close_xss = 1; // 关闭xss验证 $this->fieldtype = ['TEXT' => '']; $this->defaulttype = 'TEXT'; } /** * 字段相关属性参数 * * @param array $value 值 * @return string */ public function option($option) { unset($option['width']); if (!isset($option['name_value']) || !$option['name_value']) { $option['name_value'] = dr_lang('名称'); } if (!isset($option['value_value']) || !$option['value_value']) { $option['value_value'] = dr_lang('值'); } $str = '
'.dr_lang('选择框与复选框类型的选项值以,分隔').'

 '.dr_lang('增加属性选项').'
'; unset($option['name_value']); unset($option['value_value']); $i = 0; if ($option['default_value']) { foreach ($option['default_value'] as $i => $t) { $str.= '
'; $str.= ''; $str.= '
'; $str.= ''; $str.= ' '; $str.= '
'; } } $str.= '
'.dr_lang('无限行数可以在录入数据时自由添加行数,固定行数就只能是录入上述的固定属性行数').'
'; return [' '.$str]; } /** * 字段输出 */ public function output($value) { return dr_string2array($value); } /** * 字段入库值 */ public function insert_value($field) { $data = []; $value = \Phpcmf\Service::L('Field')->post[$field['fieldname']]; if ($value) { $i = 1; foreach ($value as $t) { $data[$i] = $t; $i++; } } \Phpcmf\Service::L('Field')->data[$field['ismain']][$field['fieldname']] = dr_array2string($data); } /** * 字段表单输入 * * @param string $cname 字段别名 * @param string $name 字段名称 * @param array $cfg 字段配置 * @param string $value 值 * @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']); // 字段默认值 $value = $value ? dr_string2array($value) : array(); $str = ''; $str.= '
'; if (!$field['setting']['option']['is_hang']) { $str.=' '; } $str.= ' '; $i = 0; unset($field['setting']['width']); // 固定属性选项 if (isset($field['setting']['option']['default_value']) && $field['setting']['option']['default_value']) { $i = 1; foreach ($field['setting']['option']['default_value'] as $t) { if (!isset($t['name']) && $t['name']) { continue; } $str.= ''; $str.= ''; $str.= ''; if (!$field['setting']['option']['is_hang']) { $str.= ''; } $str.= ''; unset($value[$i]); $i++; } } // 剩下自定义属性 if ($value && !$field['setting']['option']['is_hang']) { foreach ($value as $t) { $str.= ''; $str.= ''; $str.= ''; $str.= ''; $str.= ''; $i++; } } $str.= '
'.dr_lang($field['setting']['option']['name_value'] ? $field['setting']['option']['name_value'] : dr_lang('名称')).' '.dr_lang($field['setting']['option']['value_value'] ? $field['setting']['option']['value_value'] : dr_lang('值')).' '; $str.= ' '; $str.='
'; switch ($t['type']) { case 1: $v = $value[$i]['value'] ? $value[$i]['value'] : $t['value']; $str.= ''; break; case 2: $v = explode(',', $t['value']); $str.= ''; break; case 3: $v = explode(',', $t['value']); if ($v) { foreach ($v as $c) { $selected = isset($value[$i]['value']) && dr_in_array($c, $value[$i]['value']) ? 'checked' : ''; $str.= ''.$c.''; } } } $str.= ''; $str.= '
'; $str.= ''; $str.= ' '; $str.= '
'; if (!$field['setting']['option']['is_hang']) { $js = \Phpcmf\Service::L('js_packer'); $str.= $js->pack('', 0); } $str.= ''.$field['setting']['validate']['tips'].''; return $this->input_format($field['fieldname'], $text, $str); } /** * 字段表单显示 * * @param string $field 字段数组 * @param array $value 值 * @return string */ public function show($field, $value = null) { $str = ' '; $i = 0; unset($field['setting']['width']); // 默认属性选项 if ($value) { $value = dr_string2array($value); foreach ($value as $t) { $str.= ''; $str.= ''; $str.= ''; $str.= ''; $i++; } } $str.= '
'.dr_lang($field['setting']['option']['name_value'] ? $field['setting']['option']['name_value'] : dr_lang('名称')).' '.dr_lang($field['setting']['option']['value_value'] ? $field['setting']['option']['value_value'] : dr_lang('值')).'
'.$t['name'].''.$t['value'].'
'; return $this->input_format($field['fieldname'], $field['name'], $str); } }