묻고답하기
해당 모듈의 모든 글수를 뽑으려면 어떻게 해야 하나요?
2009.12.28 23:04
해당 위젯에는 코드중 일부를 뽑아봤습니다.
위젯설정에서 선택한 모듈(게시판)의 총 글수를 뽑아서 목록수에 적용시키려 합니다.
어떤 부분을 어떻게 고쳐주면 될런지요.
// 목록수 수
$widget_info->cols_list_count = (int)$args->cols_list_count;
if(!$widget_info->cols_list_count) $widget_info->cols_list_count = 3;
// 대상 모듈이 선택되어 있지 않으면 해당 사이트의 전체 모듈을 대상으로 함
$site_module_info = Context::get('site_module_info');
if($args->module_srls) $obj->module_srls = $args->module_srls;
else if($site_module_info) $obj->site_srl = (int)$site_module_info->site_srl;
$obj->direct_download = 'Y';
$obj->isvalid = 'Y';
// 정해진 모듈에서 문서별 파일 목록을 구함
$obj->list_count = $widget_info->rows_list_count*$widget_info->cols_list_count;
$files_output = executeQueryArray("file.getOneFileInDocument", $obj);
$files_count = count($files_output->data);
$document_srl_list = array();
$document_list = array();
$oDocumentModel = &getModel('document');
if($files_count>0) {
for($i=0;$i<$files_count;$i++) $document_srl_list[] = $files_output->data[$i]->document_srl;
$tmp_document_list = $oDocumentModel->getDocuments($document_srl_list);
if(count($tmp_document_list)) {
foreach($tmp_document_list as $val) $document_list[] = $val;
}
}
$document_count = count($document_list);
$total_count = $widget_info->rows_list_count * $widget_info->cols_list_count;
for($i=$document_count;$i<$total_count;$i++) $document_list[] = new DocumentItem();
$widget_info->document_list = $document_list;
// 모듈이 하나만 선택되었을 경우 대상 모듈 이름과 링크를 생성
$module_srl = explode(',',$args->module_srls);
if(count($module_srl)==1) {
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl[0]);
if($module_info->site_srl) {
$site_info = $oModuleModel->getSiteInfo($module_info->site_srl);
if($site_info->domain) {
$widget_info->more_link = getSiteUrl('http://'.$site_info->domain, '','mid', $module_info->mid);
}
} else {
$widget_info->more_link = getUrl('','mid',$module_info->mid);
}
$widget_info->module_name = $module_info->mid;
}
Context::set('widget_info', $widget_info);
댓글 2
-
시니시즘
2009.12.28 23:34
-
뮤랑이
2009.12.29 14:32
그럴까요? 한번 뜯어볼게요ㅎㅎ -
라르게덴
2009.12.29 15:39
우선 뽑으실려는 대상의 query용 xml 파일 안에 아래의 유형이 있는지 확인하세요.
<navigation> <index var="sort_index" default="document_srl" order="order_type" /> <list_count var="list_count" default="20" /> <page_count var="page_count" default="10" /> <page var="page" default="1" /> </navigation>
존재 할 경우 불러오는 소스 중에서 아래와 같은 선언을 해주셔야 합니다.// 템플릿에 쓰기 위해서 context::set Context::set("total_count", $output->total_count); Context::set("total_page", $output->total_page); Context::set("document", $output->data); Context::set("page", $output->page); Context::set("page_navigation", $output->page_navigation);
기본적으로는 document만 뽑아서 가져가는데 navigation을 통해서 각종 페이지 정보를 가져오게 됩니다.$total_count가 전체 게시물이 되겠네요.
-
뮤랑이
2009.12.29 15:50
퇴근해서 한번 해봐야 겠네요. 답변 감사합니다^^
카테고리 위젯에 보면 카테고리 옆에 모든 글수가 뜨던데, 그걸 뜯어보면 되지 않을까요?