오류

1. 처음 생성시 발생하는 오류(1)

2. 처음 생성시 발생하는 오류(2)

3. 구매하기를 누르면 발생하는 오류


'생성' 버튼을 눌렀을 때 발생하는 오류.


에러

TypeError #0 "Rhymix\Modules\Extravar\Models\Value::__construct(): Argument #1 ($module_srl) must be of type int, null given, called in /Users/eond/PhpstormProjects/imdar/modules/contents/contents.model.php on line 77" in modules/extravar/models/Value.php on line 91
modules/extravar/models/Value.php:91


이 오류는 Value 클래스의 생성자에 null 값이 전달되었을 때 발생하는 타입 에러입니다. module_srl은 정수(int) 타입이어야 하는데, null이 전달되었네요.

문제를 해결하기 위해 다음과 같이 코드를 수정해보시는 것을 추천드립니다:


contents.model.php

// ... existing code ...

// line 77 근처

$extra_vars = new Value($module_srl ?? 0);  // null 대신 기본값 0 사용

// ... existing code ...

또는 Value 객체를 생성하기 전에 module_srl 값을 확인하는 방법도 있습니다:


contents.model.php

// ... existing code ...

if ($module_srl === null) {

    $module_srl = 0;  // 또는 적절한 기본값

}

$extra_vars = new Value($module_srl);

// ... existing code ...




이 수정사항은:
  • null 값이 전달되는 것을 방지합니다
  • 항상 정수값이 전달되도록 보장합니다
  • TypeError 예외가 발생하는 것을 막아줍니다

실제 사용 사례에 따라 0 대신 다른 적절한 기본값을 사용하실 수도 있습니다.




문제 원인

content.model.php:77

$module_srl 이 값이 넘어와야하는데 NULL로넘어오고 있음


해결방법

1. getDefaultListConfig 함수가 실행되는 모든 파일 찾는다.

2. 해당 함수가 실행되기 이전에 exit(); 함수를 실행해서,

어떤 파일에서 오류가 발생하는지 찾는다.


contents.admin.view.php:289

$oContentsModel = getModel('contents');

            Context::set('extra_vars', $oContentsModel->getDefaultListConfig($this->module_info->module_srl));


여기서 $this->module_info->module_srl 값을 불러오지 못하는 문제가 있음.

제안

// module_srl이 없는 경우 새로운 콘텐츠판 등록 상태이므로 module_srl = 0으로 설정

            $module_srl = $this->module_info->module_srl ? $this->module_info->module_srl : 0;

            Context::set('extra_vars', $oContentsModel->getDefaultListConfig($module_srl));



(2) 1번 문제 해결 후 발생한 오류.

TypeError #0 "Rhymix\Modules\Extravar\Models\Value::__construct(): Argument #1 ($module_srl) must be of type int, null given, called in /Users/eond/PhpstormProjects/imdar/modules/contents/contents.model.php on line 67" in modules/extravar/models/Value.php on line 91

contents.model.php:64


문제(1)에서처럼 신규 생성 시 $module_srl 값이 NULL 이므로, NULL일때 $module_srl = 0; 으로 지정함.


문제3. 구매하기를 누르면 위 에러가 나오는데 확인한번 부탁드리겠습니다~

TypeError #0 "count(): Argument #1 ($value) must be of type Countable|array, null given" in modules/contents/contents.controller.php on line 982

해당 문제는 업로드가 됐으나 제대로 해당 문서에 연결이 되지 않는 문제 확인됨.

재업로드를 통해 일단 해당 문제는 해결됐으나 원래 오류는 파악 안됨


문제4. 구매하기를 누르면 발생하는 오류

AJAX communication error while requesting

contents.procContentsPurchase

200 parsrerror (parsererror)

array(1){

[0]=>

object(stdClass)#597 (23){

["file_srl"]=>

int(472907)

...계속