라이믹스 모듈 생성기를 통해 모듈을 생성하였습니다. (*첨부파일에 첨부함)
모듈 목록에 정상적으로 출력됩니다.
모듈 설정 페이지까지도 정상적으로 뜹니다.
그런데, 우측 하단의 등록 버튼을 누르면 에러가 발생합니다.
위 사진처럼, getConfig() 메소드가 정의되지 않았다고 에러가 발생합니다.
<?php namespace Rhymix\Modules\Btb_smart_flow\Controllers; use Rhymix\Framework\Cache; use Rhymix\Framework\DB; use Rhymix\Framework\Exception; use Rhymix\Framework\Storage; use Rhymix\Modules\Btb_smart_flow\Models\Config as ConfigModel; use BaseObject; use Context; /** * Smart Flow * * Copyright (c) Busan Teddy Bear * * Generated with https://www.poesis.org/tools/modulegen/ */ class Admin extends Base { /** * 초기화 */ public function init() { // 관리자 화면 템플릿 경로 지정 $this->setTemplatePath($this->module_path . 'views/admin/'); } /** * 관리자 설정 화면 예제 */ public function dispBtb_smart_flowAdminConfig() { // 현재 설정 상태 불러오기 $config = ConfigModel::getConfig(); // Context에 세팅 Context::set('btb_smart_flow_config', $config); // 스킨 파일 지정 $this->setTemplateFile('config'); } /** * 관리자 설정 저장 액션 예제 */ public function procBtb_smart_flowAdminInsertConfig() { // 현재 설정 상태 불러오기 $config = $this->getConfig(); // 제출받은 데이터 불러오기 $vars = Context::getRequestVars(); // 제출받은 데이터를 각각 적절히 필터링하여 설정 변경 if (in_array($vars->example_config, ['Y', 'N'])) { $config->example_config = $vars->example_config; } else { return new BaseObject(-1, '설정값이 이상함'); } // 변경된 설정을 저장 $output = ConfigModel::setConfig($config); if (!$output->toBool()) { return $output; } // 설정 화면으로 리다이렉트 $this->setMessage('success_registed'); $this->setRedirectUrl(Context::get('success_return_url')); } }
위 코드는 에러가 발생하고 있는 Admin.php 파일 전체 코드입니다.
질문1. getConfig() 메소드는 직접 정의해야 하는 것인지, 코어에서 제공하는 것인지의 여부?
질문2. getConfig() 메소드를 직접 정의해야 한다면, Github 등의 참고할 수 있는 코드 페이지가 있을지요?
제가 최근에 업데이트하다가 잘못 복붙한 것 같습니다.
37줄과 똑같이 ConfigModel::getConfig(); 로 바꾸시면 됩니다.
모듈 생성할 때 선택지가 워낙 많고, 선택지에 따라 다른 코드가 생성되도록 하다 보니
가끔 잘못된 코드가 가서 붙을 때가 있네요... ㅠㅠ