묻고답하기
엄선된 대문글 만들기 과제물
2007.11.08 19:18
그동안 엄선된 대문글을 올리기 위해서 쥔장이나 웹진 편집장이 선정한 글들을 모아서 홈페이지 커버(대문 간판)에 커버스토리를 뿌려주는 것을 목표로 해왔습니다.
그동안 진척이 없다가 다들 열심히 하시는 모습에 분발해서 다시 칼을 뽑았습니다.
대단한 것 같지만 우리에게는 확장변수가 있으니 그다지 어려운 문제는 아닐 것입니다.
구상은 이렇습니다.
거의 모든 스킨에서 관리자 권한일 경우, 문서번호에 해당하는 특정 확장변수에 'Y'문자를 집어 넣게 한 것이죠.
저같은 경우는 확장변수 10번을 사용하기로 했습니다. 10번변수에 Y혹은 N를 집어넣는 것은 올라온 팁들이 있어서 그냥 해결봤는데요
그래서 관리자가 선정한 문서는 확장변수 10번에 문자'Y'가 들어 있습니다
★ 바로 이 부분이 무지하게 어렵네요
member스킨의 document_list를 참조하려 해도 뭐 특별히 힌트는 없어요.
내가 참고하고 있는 소스는 이것입니다
대충 출처가 어딘지 기억이 잘 안납니다만
대충 args에 정보들 지정한 다음에 getDocumentList($args);이걸로 해결을 보는 것 같거든요?
그런데 나같은 경우는 이거 이떻게 해야 할 지 모르겠습니다.
디비를 접근할 실력이 전혀 아니기때문에 더 큰 문제인 듯 합니다.
// 목록을 구하기 위한 옵션
$args->page = Context::get('page'); ///< 페이지
$args->list_count = 50; ///< 한페이지에 보여줄 글 수
$args->page_count = 10; ///< 페이지 네비게이션에 나타날 페이지의 수
$args->search_target = Context::get('search_target'); ///< 검색 대상 (title, contents...)
$args->search_keyword = Context::get('search_keyword'); ///< 검색어
$args->sort_index = 'list_order'; ///< 소팅 값
$args->module_srl = Context::get('module_srl');
// mid목록을 구함
$oModuleModel = &getModel('module');
$mid_list = $oModuleModel->getMidList();
Context::set('mid_list', $mid_list);
// 목록 구함, document->getDocumentList 에서 걍 알아서 다 해버리는 구조이다... (아.. 이거 나쁜 버릇인데.. ㅡ.ㅜ 어쩔수 없다)
$oDocumentModel = &getModel('document');
$output = $oDocumentModel->getDocumentList($args);
// 목록의 loop를 돌면서 mid를 구하기 위한 module_srl값을 구함
$document_count = count($output->data);
$module_srl_list = array();
if($document_count) {
foreach($output->data as $key => $val) {
$module_srl = $val->module_srl;
if(!in_array($module_srl, $module_srl_list)) $module_srl_list[] = $module_srl;
}
if(count($module_srl_list)) {
$args->module_srls = implode(',',$module_srl_list);
$mid_output = executeQuery('module.getModuleInfoByModuleSrl', $args);
if($mid_output->data && !is_array($mid_output->data)) $mid_output->data = array($mid_output->data);
for($i=0;$i<count($mid_output->data);$i++) {
$mid_info = $mid_output->data[$i];
$module_list[$mid_info->module_srl] = $mid_info;
}
}
}
// 템플릿에 쓰기 위해서 document_model::getDocumentList() 의 return object에 있는 값들을 세팅
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
Context::set('module_list', $module_list);
}
=========================
음... 이거 꼭 좀 알려 주십시오
그만큼 님들께 짜잘한 팁으로 보답하겠습니다.
질답게시판에 성실히 댓글 참여할께요
그리고 푸른색 소스의 아랫부분이 무엇을 의미하는 지 잘 모르겠어요