게시판 상담기능 사용에 체크를 하고
접근 권한을 모든 대상에게 열어두면
알아서 게시판 스킨의 message.html 을 읽어 옵니다.
여기에 _header.html 을 불러오는데..
$oDocument->isExists() 의 함수가 사용되면 비로그인 상태에서 해당 게시판에 접근하면 500에러가 발생합니다.(백지)
로그인을 할 경우는 이상이 없구요.
여기서 해결법은 상담 기능을 체크한 경우 접근권한을 로그인 대상자로 하여 비로그인 한 상태에서 접근하면 메시지모듈? 의 에러메시지로 출력되어 500에러가 발생하지 않습니다.
이와 같은 상황이 XE에서는 당연히 발생하는 증상인지 궁금합니다.
스킨제작자분께서 이 부분을 해결하려면 코드를 어떻게 고쳐야 하는걸까요?
현재 보고 있는 문서가 없다면 $oDocument라는 변수가 아예 존재하지 않을 것입니다. 존재하지 않는 변수에 ->isExists() 메소드를 실행하면 치명적인 오류가 발생하면서 500 코드가 나타나게 됩니다.
if($oDocument->isExists())
이렇게 되어 있는 코드에서 치명적인 오류가 발생한다면
if($oDocument && $oDocument->isExists())
이렇게 먼저 $oDocument 변수의 존재 여부를 확인한 후 사용하시면 됩니다.