Extra Form
PHP PHP 8.2
CMS Rhymix 2.1

라이믹스 모듈 생성기를 통해 모듈을 생성하였습니다. (*첨부파일에 첨부함)

 

모듈 목록.png.jpg

 

모듈 목록에 정상적으로 출력됩니다.

 

모듈 설정.jpeg.jpg

 

모듈 설정 페이지까지도 정상적으로 뜹니다.

그런데, 우측 하단의 등록 버튼을 누르면 에러가 발생합니다.

 

설정 에러 메시지.jpeg.jpg

 

위 사진처럼, 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 등의 참고할 수 있는 코드 페이지가 있을지요?

Atachment
첨부
  • Lv36

    제가 최근에 업데이트하다가 잘못 복붙한 것 같습니다.

    37줄과 똑같이 ConfigModel::getConfig(); 로 바꾸시면 됩니다.

     

    모듈 생성할 때 선택지가 워낙 많고, 선택지에 따라 다른 코드가 생성되도록 하다 보니

    가끔 잘못된 코드가 가서 붙을 때가 있네요... ㅠㅠ

  • Lv36 ?
    우와! 너무 잘됩니다.
    감사합니다 ㅎㅎ