static public function fieldForm($field, $name, $value=null, $settings=[])
    {
        // format field
        $field = \Wslim\Cms\FieldHelper::formatField($field);
        
        if (!$name) {
            $name  = 'row[' . $field['field_name'] . ']';
        }
        
        // value 此处进行数据解码和反转义，当值不为空
        
        // settings 处理，合并加入 field 的一些选项
        foreach ($field as $k => $v) {
            if (strpos($k, 'form_') === 0) {
                $sk = $k == 'form_type' ? $k : str_replace('form_', '', $k);
                if (!isset($settings[$sk])) $settings[$sk] = $v;
            }
        }
        
        return static::auto($name, $value, $settings);
    }