| CMS/프레임워크 | Rhymix 2.1 |
|---|---|
| 개발 언어 | PHP 8.2 |
| 문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
페이지 버전관리 모듈 (https://rhymix.org/pds/1920100) 적용 중 관리자화면의 "콘텐츠-페이지" 메뉴가 안보여서 "시스템 설정" 클릭하니 아래 오류가 발생했어요.
Attempt to assign property "site_srl" on array" in modules/module/module.model.php on line 157
ai(제미나이)에게 물어봐서 아래 빨간색 추가하니 해결되었어요.
(개발자가 아니라 100%로는 이해하지는 못했지만 설명을 잘해줘서 대략 이해는 되었어요)
근데 코어를 수정하는 거라 제가 또 다른 뭔가 잘못했었던 게 아닌지? 다른 자료와 연관(충돌?)이 있는 게 아닌 지 궁금합니다.
코어가 잘못되지는 않을 듯 한데 혹시나 코어에도 적용해야 되는 부분인지도 궁금합니다.
if ($output->data)
{
// (object)를 추가하여 배열을 객체로 변환합니다.
$domain_info = (object)$output->data;
$domain_info->site_srl = 0;
$domain_info->settings = $domain_info->settings ? json_decode($domain_info->settings) : new stdClass;
if(!isset($domain_info->settings->color_scheme))
{
$domain_info->settings->color_scheme = 'auto';
}
$domain_info->default_language = $domain_info->settings->language ?: config('locale.default_lang');
Rhymix\Framework\Cache::set('site_and_module:domain_info:domain:' . $domain, $domain_info, 0, true);
}
현재는 콘텐츠-페이지 메뉴도 잘나오고 해당 자료도 잘 되고 있어요.
댓글 2
$output->data가 배열로 나온다면, rx_domains 테이블에 동일한 도메인이 2개 이상 저장되어 있는 것은 아닌지 확인할 필요가 있겠습니다. 그 상태에서 object로 변환한다 해도 정상적인 정보가 나오지는 않겠지요. 필요한 것만 남기고, 중복된 도메인은 DB에서 삭제해 보세요.
시스템설정 화면에서 서브도메인 하나가 지워지지 않고 계속 남아있었는데 말씀하신 부분과 관련된 것이었을 수 있겠어요. DB 도 함께 확인해볼게요. 감사합니다. 새해 복 많이 받으시길 바랍니다.