질문/조언질답게시판
Extra Form
PHP PHP 5.6
CMS XpressEngine

다음의 코드가 전혀 실행되지 않는거 같습니다.

그래서, 7번 라인에서 getController() 함수를 통해 정상적으로  객체가 정상적으로 가져와 지는지 확인하려고 하는데요...

어떻게 하면 좋을지 조언 부탁드려요. 1주 동안 낑낑 데고 있네요 ^^

 

define('__ZBXE__',true);
require_once("config/config.inc.php");

$oContext = &Context::getInstance();
$oContext->init();

$notify = Context::get('notify');
$oNcenterliteController = getController('ncenterlite');
$oNcenterliteController->updateNotifyRead($notify, $member_srl);
  • profile

    if($oNcenterliteController) {

        정상

    } else {

        정상이 아님

    }

     

    그런데 객체가 정상이 아니라면 그 다음 9줄에서 즉시 치명적인 에러를 뿜을 것이므로

    아주 쉽게 알 수 있을 것입니다. 사실 이런 상황은 알림센터가 설치되어 있지 않은 경우밖에 없겠지요.

     

    비교적 최근에 나온 XE 버전으로 작업하고 계시다면

    __XE__를 선언하셔야 하는데 __ZBXE__를 선언하신 것이 더 큰 문제 같습니다.

    이러면 config/config.inc.php에서 아무 것도 로딩하지 않고 그냥 리턴해 버립니다.

     

     

  • profile
    ncenterlite.controller.php파일

    function updateNotifyRead()

    해당 메소드를 찾아 해당 메서드 안 첫줄에

    var_dump("test");

    를 입력하시고 해당 PHP파일 다시 실행시켜보세요.

    test 라는 문구가 뜨면 정상적으로 호출하는겁니다.
  • ?
    감사합니다. 해결 되었습니다. 문제는 "읽음" 처리가 되는데 홈페이지 메인에서 뜨는 알림 표시가 그 읽음을 처리하지 못하는 문제가 있었네요...