联系官方销售客服
QQ1835022299
028-61286886
从3.3.1升级到3.5.0之后,出现了商品价格不显示。在3.3.1之前是没有问题的,升级到3.5.0之后,就出现了问题了。这是怎么回事呢?代码如下:
class F_Price extends A_Field {
/**
* 构造函数
*/
public function __construct() {
parent::__construct();
$this->name = fc_lang('订单价格字段'); // 字段名称
$this->fieldtype = array('DECIMAL' => '10,2'); // TRUE表全部可用字段类型,自定义格式为 array('可用字段类型名称' => '默认长度', ... )
$this->defaulttype = 'DECIMAL'; // 当用户没有选择字段类型时的缺省值
}
/**
* 字段相关属性参数
*
* @param array $value 值
* @return string
*/
public function option($option) {
$option['value'] = isset($option['value']) ? $option['value'] : '';
$option['width'] = isset($option['width']) ? $option['width'] : 200;
$option['unique'] = isset($option['unique']) ? $option['unique'] : 0;
$option['fieldtype'] = isset($option['fieldtype']) ? $option['fieldtype'] : '';
$option['is_mb_auto'] = isset($option['is_mb_auto']) ? $option['is_mb_auto'] : '';
$option['fieldlength'] = isset($option['fieldlength']) ? $option['fieldlength'] : '';
return '
'.fc_lang('[整数]表示固定宽带;[整数%]表示百分比').'
';
}
/**
* 创建sql语句
*/
public function create_sql($name, $option) {
$sql = 'ALTER TABLE `{tablename}` ADD `'.$name.'` DECIMAL(9,2) NULL , ADD `'.$name.'_sj` DECIMAL(9,2) NULL';
return $sql;
}
/**
* 修改sql语句
*/
public function alter_sql($name, $option) {
return NULL;
}
/**
* 删除sql语句
*/
public function drop_sql($name) {
$sql = 'ALTER TABLE `{tablename}` DROP `'.$name.'`, DROP `'.$name.'_sj`';
return $sql;
}
/**
* 字段入库值
*
* @param array $field 字段信息
* @return void
*/
public function insert_value($field) {
if (IS_ADMIN) {
$this->ci->data[$field['ismain']][$field['fieldname']] = floatval($_POST['data'][$field['fieldname']]);
$this->ci->data[$field['ismain']][$field['fieldname'].'_sj'] = floatval($_POST['data'][$field['fieldname'].'_sj']);
} else {
$this->ci->data[$field['ismain']][$field['fieldname'].'_sj'] = floatval($_POST['data'][$field['fieldname'].'_sj']);
}
}
/**
* 字段表单输入
*
* @param string $cname 字段别名
* @param string $name 字段名称
* @param array $cfg 字段配置
* @param array $value 值
* @param array $id 当前内容表的id(表示非发布操作)
* @return string
*/
public function input($cname, $name, $cfg, $value = NULL, $id = 0) {
// 字段显示名称
$text = (isset($cfg['validate']['required']) && $cfg['validate']['required'] == 1 ? '*' : '').''.$cname.':';
// 表单宽度设置
if (IS_MOBILE && empty($cfg['option']['is_mb_auto'])) {
$width = '100%';
} else {
$width = isset($cfg['option']['width']) && $cfg['option']['width'] ? $cfg['option']['width'] : '200';
}
$width = 'style="width:'.$width.(is_numeric($width) ? 'px' : '').';"';
// 表单附加参数
$attr = isset($cfg['validate']['formattr']) && $cfg['validate']['formattr'] ? $cfg['validate']['formattr'] : '';
// 字段提示信息
$tips = ($name == 'title' && APP_DIR) || (isset($cfg['validate']['tips']) && $cfg['validate']['tips']) ? ''.$cfg['validate']['tips'].'' : '';
// 字段默认值
$value = (strlen($value) ? $value : $this->get_default_value($cfg['option']['value']));
// 禁止修改
$disabled = !IS_ADMIN && $id && $value && isset($cfg['validate']['isedit']) && $cfg['validate']['isedit'] ? ' disabled' : '';
// 当字段必填时,加入html5验证标签
$required = '';
if (IS_ADMIN) {
$value2 = $this->ci->data[''.$name.'_sj'] ? $this->ci->data[''.$name.'_sj'] : '';
$str = '
';$str.= '
';} else {
$value = $this->ci->data[''.$name.'_sj'] ? $this->ci->data[''.$name.'_sj'] : '';
$str = '
';}
return $this->input_format($name, $text, $str.$tips);
}
}