_model = new BoardModel($this->getFields()); parent::initController($request, $response, $logger); $this->_viewDatas['title'] = lang($this->_model->getClassName() . '.title'); $this->_viewPath .= strtolower($this->_model->getClassName()); helper($this->_model->getClassName()); } public function getFields(string $action = ""): array { $fields = ['title', "board_file", "passwd", "content"]; switch ($action) { case "index": case "excel": return ['title', "board_file", "view_cnt", "created_at"]; break; case "view": return ['title', "board_file", "view_cnt", "created_at", "content"]; break; default: return $fields; break; } } public function getFieldFilters(): array { return []; } public function getFieldBatchFilters(): array { return parent::getFieldBatchFilters(); } //Field별 Form Datas 처리용 protected function getFieldFormData(string $field, $entity = null): array { switch ($field) { case 'passwd': $this->_viewDatas['fieldDatas'][$field] = $this->request->getVar($field); $this->_viewDatas['fieldDatas']['confirmpassword'] = $this->request->getVar('confirmpassword'); break; case 'board_file': $this->_viewDatas['fieldDatas'][$field] = $this->single_upload_procedure($field, $entity); break; default: return parent::getFieldFormData($field, $entity); break; } return $this->_viewDatas['fieldDatas']; } //View관련 protected function view_process($entity) { $entity = parent::view_process($entity); return $this->_model->addViewCount($entity); } }