일반적으로 DocumentModel::getDocumentList($args)를 통해 특정 모듈 등의 문서 목록을 가져올 수 있는데요.

종전에 하던 방식으로 하니까 통합게시판에서는 문서목록 추출에 실패를 하더라구요?

그래서 왜인가 하고 뜯어봤더니 통합게시판으로 설정된 모듈의 경우는 $module_info에 module_srl과는 별개로 include_modules라는 변수가 따로 들어가 있더라구요.

 

즉,

$args->module_srl = $module_info->module_srl 이 아니라

$args->module_srl = $module_info->include_modules 가 들어가야 제대로 된 문서 목록을 가져올 수가 있었습니다.

 

($module_info가 있다는 가정 하에) 제 경우에는 대강 이런 식으로 했습니다.

$args = new stdClass();
$args->module_srl = $module_info->include_modules ?: $module_info->module_srl;
$args->list_count = $module_info->list_count;
$args->page_count = $module_info->page_count;
// ... 그 외의 목록 변수들 추가

$output = DocumentModel::getDocumentList($args);

 

이미 알려진 팁인지 모르겠는데, 새로 발견한 기념으로 정리해봤습니다 :D

 

 

추가. 더 자세히 살펴보니 위에서처럼 리스트를 가져온 뒤 각 문서 객체마다 게시판의 이름(module_title)도 부가시켜줘야 하는군요.

여기 링크도 필독입니다. board.view.php에 있는 _fillModuleTitles 함수예요.

https://github.com/rhymix/rhymix/blob/aa78a03b99df9c7deabfa4fb2d498eed067f54c8/modules/board/board.view.php#L599-L641

윤삼

profile
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
  • Lv6
    오~ 감사합니다
  • Lv6 Lv19
    저도 getDocumentList를 사용하는 애드온 등을 몇 개 만들었던 것 같은데 기회 있을 때 수정을 좀 해야겠어요 :)