1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- function box($field, $value, $fieldinfo) {
- $string = '';
- $require = $fieldinfo['min_length'] ? 'required required_box' : '';
- $pattern = $fieldinfo['pattern'] ?$fieldinfo['pattern']:'';
- $errortips = $fieldinfo['error_tips'] ?$fieldinfo['error_tips']:'';
- if($value=='') $value = !empty($fieldinfo['default_value'])?$fieldinfo['default_value']:'';
- $options = isset($fieldinfo['options'])?explode("\n",$fieldinfo['options']):array();
- if(!empty($options))foreach($options as $_k) {
- $v = explode("|",$_k);
- if(!empty($v[0])){
- $k = trim($v[1]);
- $optionList[$k] = $v[0];
- }
- }
- //去除空内容
- $values = explode(',',$value);
- $value = array();
- if(!empty($values))foreach($values as $_k) {
- if($_k != '') $value[] = $_k;
- }
- $value = implode(',',$value);
- $string = '<div class="mb-3 row '.$require.'" data-pattern = "'.$pattern.'" data-errtips = "'.$errortips.'" data-boxtype="'.$fieldinfo['box_type'].'" data-name="'.(in_array($fieldinfo['box_type'],['multiple','checkbox'])?"info[$field][]":"info[$field]").'">';
- $string .= '<label class="col-md-2 col-form-label">'.$fieldinfo['name'].'</label>';
- if(isset($optionList)&&isset($fieldinfo['box_type']))switch($fieldinfo['box_type']) {
- case 'radio':
- $string .= FormElements::radio($optionList,$value,"name='info[$field]' $fieldinfo[form_attribute] class='form-check-input' ",0);
- $string .= $fieldinfo['tips']?'<div class="text-muted input-word-aux offset-l-2">提示:'.$fieldinfo['tips'].'</div>':'';
- break;
- case 'checkbox':
- $string .= FormElements::checkbox($optionList,$value,"name='info[$field][]' $fieldinfo[form_attribute] class='form-check-input' ",0);
- $string .= $fieldinfo['tips']?'<div class="text-muted input-word-aux offset-l-2">提示:'.$fieldinfo['tips'].'</div>':'';
- break;
- case 'select':
- $string .= '<div class="col-md-10">';
- $string .= FormElements::select($optionList,$value,Yii::t('admin','please select'),"name='info[$field]' id='$field' $fieldinfo[form_attribute] data-dselect-clearable='true' class='form-select $require'");
- $string .= $fieldinfo['tips']?'<div class="text-muted input-word-aux">提示:'.$fieldinfo['tips'].'</div>':'';
- $string .= '</div>';
- break;
- case 'multiple':
- $string .= '<div class="col-md-10">';
- $string .= FormElements::select($optionList,$value,Yii::t('admin','please select'),"name='info[$field][]' id='$field' multiple='multiple' data-dselect-clearable='true' class='form-select $require'");
- $string .= $fieldinfo['tips']?'<div class="text-muted input-word-aux">提示:'.$fieldinfo['tips'].'</div>':'';
- $string .= '</div>';
- break;
- case 'switch':
- $string .= FormElements::switchbox($optionList,$value,"name='info[$field]' $fieldinfo[form_attribute] class='form-check-input' ",$field);
- $string .= $fieldinfo['tips']?'<div class="text-muted input-word-aux offset-l-2">提示:'.$fieldinfo['tips'].'</div>':'';
- break;
- }
- $string .= '</div>';
- return $string;
- }
|