public function posid($field, $value, $fieldinfo)
 {
     $setting = string2array($fieldinfo['setting']);
     $position = D('Position')->select();
     if (empty($position)) {
         return '';
     }
     $array = array();
     foreach ($position as $_key => $_value) {
         if ($_value['modelid'] && ($_value['modelid'] != $this->modelid || $_value['catid'] && strpos(',' . $this->categorys[$_value['catid']]['arrchildid'] . ',', ',' . $this->catid . ',') === false)) {
             continue;
         }
         $array[$_value['id']] = $_value['name'];
     }
     $posids = array();
     if (ACTION_NAME == 'edit') {
         $position_data = D('PositionData')->where('id = %d and modelid = %d', $this->id, $this->modelid)->field('posid')->group('posid')->select();
         $position_data_ids = array();
         foreach ($position_data as $key => $pos) {
             $position_data_ids[] = $pos['posid'];
         }
         $posids = implode(',', $position_data_ids);
     } else {
         $posids = $setting['defaultvalue'];
     }
     return "<input type='hidden' name='info[{$field}][]' value='-1'>" . \Org\Util\Form::checkbox($array, $posids, "name='info[{$field}][]'", '', $setting['width']);
 }
 public function box($field, $value, $fieldinfo)
 {
     if ($value == '') {
         $value = $fieldinfo['defaultvalue'];
     }
     $options = explode("\n", $fieldinfo['options']);
     foreach ($options as $_k) {
         $v = explode("|", $_k);
         $k = trim($v[1]);
         $option[$k] = $v[0];
     }
     $values = explode(',', $value);
     $value = array();
     foreach ($values as $_k) {
         if ($_k != '') {
             $value[] = $_k;
         }
     }
     $value = implode(',', $value);
     switch ($fieldinfo['boxtype']) {
         case 'radio':
             $string = \Org\Util\Form::radio($option, $value, "name='info[{$field}]' {$fieldinfo['formattribute']}", $fieldinfo['width'], $field);
             break;
         case 'checkbox':
             $string = \Org\Util\Form::checkbox($option, $value, "name='info[{$field}][]' {$fieldinfo['formattribute']}", 1, $fieldinfo['width'], $field);
             break;
         case 'select':
             $string = \Org\Util\Form::select($option, $value, "name='info[{$field}]' id='{$field}' {$fieldinfo['formattribute']}");
             break;
         case 'multiple':
             $string = \Org\Util\Form::select($option, $value, "name='info[{$field}][]' id='{$field} ' size=2 multiple='multiple' style='height:60px;' {$fieldinfo['formattribute']}");
             break;
     }
     return $string;
 }