uri_path .= strtolower($this->getService()->getClassName()) . '/'; $this->class_path = $this->getService()->getClassPath(); $this->title = lang("{$this->getService()->getClassPath()}.title"); $this->helper = $this->getHelper(); $this->individualStylesheets = ['server_partinfo.css'];; $this->individualScripts = ['server_partinfo.js']; } public function getService(): ServerService { if (!$this->_service) { $this->_service = new ServerService($this->request); } return $this->_service; } public function getHelper(): mixed { if (!$this->_helper) { $this->_helper = new ServerHelper($this->request); } return $this->_helper; } final public function getPartService(): PartService { if (!$this->_partService) { $this->_partService = new PartService($this->request); } return $this->_partService; } //Index,FieldForm관련 protected function getFormFieldOption(string $field, array $options = []): array { switch ($field) { case 'cpu_partinfo_uid': $options[$field] = $this->getPartService()->getFormFieldOption($field); break; case 'ram_partinfo_uid': $options[$field] = $this->getPartService()->getFormFieldOption($field); break; case 'disk_partinfo_uid': $options[$field] = $this->getPartService()->getFormFieldOption($field); break; default: $options = parent::getFormFieldOption($field, $options); break; } return $options; } //Index,FieldForm관련 protected function index_process(): array { $fields = [ 'fields' => ['code', 'clientinfo_uid', 'type', $this->getService()->getModel()->getTitleField(), 'price', 'status', 'description'], ]; $this->init('index', $fields); $this->modal_type = 'modal_iframe'; return parent::index_process(); } }