if(!$module_config->point_record_way){
   if(version_compare(__XE_VERSION__, '1.7.4', '<')){
      $module_config->point_record_way = 'realtime';
   }else{
      $module_config->point_record_way = 'trigger';
   }
}

을 처리하는 구분 확인해보면, $module_config 에 뭔가를 주입하는 과정이 보이는데 이 부분에 주입하기전에, 아에 $module_config 라는 함수에 아무값이 들어가지 않으면 초기화 하지 않은 상태로 인식하기 때문에 해당 부분이 오류가 납니다.(오류가 나도 나타나지 않고 이 오류로 인해 로그인이 페이지가 백지현상이 보이게 됩니다. 일부 사이트에서는)

 

그래서, 해당 부분의 초기화가 필요합니다.

    /**
 *@brief 모듈설정
 **/
function getModuleConfig() 
{
   $oModuleModel = &getModel('module');   
   $module_config = $oModuleModel->getModuleConfig('pointhistory');
   if(!$module_config)
   {
      $module_config = new stdClass();
   }
   if(!$module_config->point_record_way){
      if(version_compare(__XE_VERSION__, '1.7.4', '<')){
         $module_config->point_record_way = 'realtime';
      }else{
         $module_config = new stdClass();
         $module_config->point_record_way = 'trigger';
      }
   }
   if(!isset($module_config->member_menu_name)){
      $module_config->member_menu_name = Context::getLang('pointhistory_list');
   }
   if(!$module_config->point_unit_char){
      $module_config->point_unit_char = 'P';
   }
   
   return $module_config;
}

 

수정부탁드려요.

  • Lv15

    포인트 히스토리뿐만 아니라 대부분의 모듈이 모듈설정부분에서 stdClass를 적용하지않아 경고를 뿜고 있는 상태입니다.

    그래서 라이믹스에서는 모듈설정이 없으면 stdClass를 반환하도록 했습니다. 그게 맞는 듯합니다. 

  • ? Lv7
    포인트 히스토리 기능을 사용중인데요.
    문제가 될 소지가 있다면 적용 해줘도 되는거죠?
  • ? Lv7 Lv24
    애초에 문제가 될수잇는 부분을 XE에서 안뜨게끔만 해둔거라.. 적용하시는게 좋아요
  • Lv24 ? Lv7
    넵 팁 감사합니다. ^^