<a href="{getUrl('act', 'dispBoardAdminBoardInfo')}" data-menu="boardConfig" cond="$module_info->module == 'board'">게시판 설정</a>
Warning: Undefined property: stdClass::$module_info
이렇게 뜨는데요, 이 부분은 어떻게 고치나요?
보통 $layout_info->, $module_info->, $widget_info->
스킨 상에서 다 이렇게 쓸텐데요..
php8에서는 저걸 warning으로 띄우는거 같은데요.
{@
$module_info = new stdClass();
}
모듈은 이렇게
{@
$layout_info = new stdClass();
}
레이아웃은 이렇게
{@
$widget_info = new stdClass();
}
위젯 스킨은 이렇게 미리 선언을 해놔야 하나요?
템플릿에서 선언하면 곤란하죠. 일반적인 화면이라면 코어에서 $module_info, $layout_info 등을 미리 넣어뒀을 텐데, 새로 선언하면 덮어씌워지니까요. mid가 없는 관리자 화면이거나, 뭔가 좀 특수한 상황에서만 에러가 나는 것입니다.
$module_info = $module_info ?? new stdClass();
이렇게 조건부로 선언할 수도 있겠고,
cond="isset($module_info->module) && $module_info->module === 'board'"
이렇게 변수가 존재하지 않으면 비교하지 않도록 방어할 수도 있습니다.