function pos_id($field, $value, $fieldinfo) { $position = json_decode(Yii::$app->cache->get(CacheId::positionCacheId()),true); if(empty($position)) return ''; $array = array(); if(is_array($position))foreach($position as $_key=>$_value) { if($_value['content_model_id'] && (($_value['content_model_id'] != $this->model_id) || ($_value['cat_id'] && strpos(','.$this->categorys[$this->cat_id]['arr_parent_ids'].',',','.$_value['cat_id'].',')===false))) continue; $array[$_key] = $_value['name']; } $pos_ids = array(); if(Yii::$app->controller->action->id=='edit') { $data_list = PositionData::find()->where("data_id=".$this->id." and content_model_id = ".$this->model_id."")->all(); foreach($data_list as $key=>$value) { $pos_ids[]=$value['position_id']; } $pos_ids = implode(',',$pos_ids); } else { $pos_ids=''; if(isset($fieldinfo['default_value']))$pos_ids = $fieldinfo['default_value']; } $string = '
'; $string .= ''; $string .= FormElements::checkbox($array,$pos_ids,"name='info[$field][]' class='form-check-input' "); $string .= '
'; return $string; }