묻고답하기
최근 게시물에 공지를 제일 위로 하고 싶은데요..
2009.12.21 09:44
1) 하고자 하는 일 : 최근 게시물에 공지를 제일 위로 하고 싶습니다.
2) 시도했던 방법은...
최근게시물 list.html에서
두개를 만듭니다.
notice_list와 document_list를 받아서
공지부터 뿌리고...나중에 일반 게시물을 뿌리는거죠..
그럼 notice_list는 어디서 만드냐???
newest_document.class.php
여기서 만들면 되겠더군요...
그래서 만들어 봤습니다.
<!--%import("style.css")-->
<div class="latest">
<ul>
<!--@foreach($widget_info->notice_list as $oDocument)--> <== 사실 이부분이죠..
<li>
<a href="./{$oDocument->getPermanentUrl()}">
<span class="date">{$oDocument->getRegdate("Y-m-d")}</span>
<span class="title">
{$oDocument->getTitle($widget_info->subject_cut_size)}
<!--@if($oDocument->getCommentCount())-->
<span class="comment">{$oDocument->getCommentCount()}</span>
<!--@end-->
</span>
{$oDocument->printExtraImages($widget_info->duration_new)}
</a>
</li>
<!--@end-->
<!--@foreach($widget_info->document_list as $oDocument)-->
<li>
<a href="./{$oDocument->getPermanentUrl()}">
<span class="date">{$oDocument->getRegdate("Y-m-d")}</span>
<span class="title">{$oDocument->getTitle($widget_info->subject_cut_size)}
<!--@if($oDocument->getCommentCount())-->
<span class="comment">{$oDocument->getCommentCount()}</span>
<!--@end-->
</span>
{$oDocument->printExtraImages($widget_info->duration_new)}
</a>
</li>
<!--@end-->
</ul>
</div>
그런데... notice_list는 어떻게 만드냐???
흐음..
// 결과가 있으면 각 문서 객체화를 시킴
$modules = array();
if(count($output->data)) {
foreach($output->data as $key => $attribute) {
$modules[$attribute->module_srl]->mid = $attribute->mid;
$modules[$attribute->module_srl]->site_srl = $attribute->site_srl;
$document_srl = $attribute->document_srl;
$oDocument = null;
$oDocument = new documentItem();
$oDocument->setAttribute($attribute, false);
$GLOBALS['XE_DOCUMENT_LIST'][$oDocument->document_srl] = $oDocument;
// Cavin
if($oDocument->isNotice()) {
$notice_list[$key] = $oDocument;
}
}
$oDocumentModel->setToAllDocumentExtraVars();
} else {
// Cavin
$notice_list = array();
}
// 결과가 있으면 각 문서 객체화를 시킴
$modules = array();
if(count($output->data)) {
foreach($output->data as $key => $attribute) {
$modules[$attribute->module_srl]->mid = $attribute->mid;
$modules[$attribute->module_srl]->site_srl = $attribute->site_srl;
$document_srl = $attribute->document_srl;
$oDocument = null;
$oDocument = new documentItem();
$oDocument->setAttribute($attribute, false);
$GLOBALS['XE_DOCUMENT_LIST'][$oDocument->document_srl] = $oDocument;
if(!$oDocument->isNotice()) {
$document_list[$key] = $oDocument;
}
}
$oDocumentModel->setToAllDocumentExtraVars();
} else {
$document_list = array();
}
이렇게 만들어 봤습니다.. ㄷㄷ
근데...잘 작동이 안되는게...
일단 그 게시판에 공지가 2개 있는데..
공지가 1개 나올때도 있고...2개나올때고 있다는겁니다. ㅠㅠ
조언 좀 부탁드립니다..
그래서..board쪽을 참고하려고 봤더니...
거긴..함수로 따로 만들어서 사용했더라구요...ㄷㄷㄷㄷㄷ 함수까지는 완전 이해하질 못해서...아직은...
1) 함수로 알려주시면 정말이지 "고기 잡는법"을 알려주시는 겁니다.
(다만 시간이 오래 걸리시겠죠?)
2) 샘플을 만들어주시면...이리 뜯어보고 저리 뜯어봐서..완전 제껄로 만들겠습니다.
3) 그냥 힌트만 주시다고 해도..저야 감지덕지지요.. ^^;;;;;