[수정]메인페이지의 페이지수정을 저장하면 서버 오류가 발생합니다.
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
메인페이지의 페이지수정을 저장하면 서버 오류가 발생합니다.
아래는 오류 내용 입니다.
서버 오류 TypeError #0 "Argument 1 passed to lang() must be of the type string, null given, called in C:\xampps\htdocs\classes\object\Object.class.php on line 151" in C:\xampps\htdocs\common\functions.php on line 35
무엇이 문제인가요..?
아래는 해당 코드의 일부입니다.
Object.class.php의 151번째 부근 함수
public function setMessage($message = 'success', $type = null)
{
$this->message = lang($message);
if($type !== null)
{
$this->setMessageType($type);
}
return $this;
}
functions.php의 35번째 부근 함수
function lang(string $code, $value = null)
{
if (!isset($GLOBALS['lang']) || !$GLOBALS['lang'] instanceof Rhymix\Framework\Lang)
{
$GLOBALS['lang'] = Rhymix\Framework\Lang::getInstance(Context::getLangType() ?: config('locale.default_lang') ?: 'ko');
$GLOBALS['lang']->loadDirectory(RX_BASEDIR . 'common/lang', 'common');
}
if ($value === null)
{
return $GLOBALS['lang']->get($code);
}
else
{
$GLOBALS['lang']->set($code, $value);
}
}
고수님들의 답변 미리 감사드립니다!!
댓글 3
참고로 XE 에서 라이믹스 2.1.x로 업그레이드 한 상태입니다.
페이지 모듈에서 빈 값을 넣는 바람에 생기는 오류입니다. 현재 개발중인 라이믹스 develop 버전에서는 패치되어 있습니다만, 간단하게 Object.class.php에서
$this->message = lang($message);
이 부분을
$this->message = lang((string)$message);
로 변경하시면 해결됩니다.
답변 감사드립니다!!