글수 147
| 라이센스 : | GPL2 |
|---|---|
| 기타 라이센스 : | |
| 적용 버전 : | 정식버전(1.0이후) |

제목이 좀 애매하네요.
위에 보시는 바와 같이 해당 카테고리에 글이 등록되거나 수정 될때의 아이콘을 표기해주는 기능을 추가 했습니다.
누군가 요청하셔서 올려 드립니다.
실제 출력은 위와 같진 않고 default 스킨으로 가능합니다.(위에꺼는 제가 임의로 만든거고요.)
http://www.animeclub.net/zbXE 여기서 확인 가능합니다.
설치 방법
1. ./widgets/category 폴더를 백업한다 (꼭 백업 후 사용하세요!)
2. 아래 첨부파일(category.zip) 을 다운받아 압축을 푼 후 ./widgets/ 안에 복사
(덮어씌우셔도 됨)
위젯은 기존 설정에 변경 없이 바로 적용 됩니다.
원리
category.class.php 안에 함수가 하나 만들어져 있습니다.
굳이 이걸 다운받지 않으셔도 해당 함수를 임의의 곳에서 호출해주시면 됩니다.
함수를 이곳에 적어 놓겠습니다.(아래의 함수를 파일 '?>' 바로 전에 삽입해주세요.)
category.class.php
function category_newest($category_num,$time_interval = 43200){
$mo_document = &getModel('document');
$category_list = $mo_document->getCategoryList(Context::get('module_srl'));
$category_info = $category_list[$category_num];
$category_info->childs[] = $category_num;
$category_srl = implode(',',$category_info->childs);
$obj1->sort_index = 'list_order';
$obj1->order_type = 'asc';
$obj1->list_count = 1;
$obj1->category_srl = $category_srl;
$output1 = executeQueryArray('widgets.category.getCategoryDocuments', $obj1);
// 오류가 생기면 그냥 무시
if(!$output1->toBool()) return;
if(!$output1->data[0]->document_srl) return;
$obj2 = $obj1;
$obj2->sort_index = 'update_order';
$output2 = executeQueryArray('widgets.category.getCategoryDocuments', $obj2);
// 오류가 생기면 그냥 무시
if(!$output2->toBool()) return;
if(!$output2->data[0]->document_srl) return;
$list_order = $output1->data[0]->list_order;
$update_order = $output2->data[0]->update_order;
if($list_order > $update_order) {
$value = 'update';
$time = $output2->data[0]->last_update;
} else {
$value = 'new';
$time = $output1->data[0]->regdate;
}
// 최신 시간 설정
$time_check = date("YmdHis", time()-$time_interval);
// 새글 체크
if($time<$time_check) return;
// 아이콘 디렉토리 구함
$path = sprintf('%s%s',getUrl(), 'modules/document/tpl/icons/');
$buff = sprintf('<img src="%s%s.gif" alt="%s" title="%s" style="vertical-align:middle;"/>', $path, $value, $value, $value);
return $buff;
}getCategoryDocuments.xml
<query id="getCategoryDocuments" action="select"> <tables> <table name="documents" /> </tables> <columns> <column name="*" /> </columns> <conditions> <condition operation="in" column="category_srl" var="category_srl" filter="number" pipe="where" /> </conditions> <navigation> <index var="sort_index" default="list_order" order="order_type" /> <list_count var="list_count" default="20" /> </navigation> </query>
실행 방법
위 함수를 추가 하셨다면 스킨 파일에서 아래의 함수를 호출해주시면 됩니다.
{category_newest($val->category_srl,10800)}
'10800' 은 임의의 시간이니 알아서 수정해주시면 되겠습니다.
ps : 아래 첨부파일 받아서 설치하시는 분들은 위 함수 신경쓰지 않아셔도 됩니다.
if($list_order > $update_order) {
$value = 'update';
$time = $output2->data[0]->last_update;
} else {
$value = 'new';
$time = $output1->data[0]->regdate;
}
... 중략
// 아이콘 디렉토리 구함
$path = sprintf('%s%s',getUrl(), 'modules/document/tpl/icons/');
$buff = sprintf('<img src="%s%s.gif" alt="%s" title="%s" style="vertical-align:middle;"/>', $path, $value, $value, $value);
함수는 어떻게 호출하죠?
좋은 프로그램 감사합니다.
{category_newest($val->category_srl,10800)} 에서 10800이 초단위인가요? 분단위?
한기지 더 여쭈어봅니다. 글을 남기면 그 Category 에 N 이라고 떠야하는데..해당 Category 말고 모든 카테고리에 N 이라고 뜹니다.
그리고 수정하면 마찬가지로 모든 Category 에 U 라고 뜨구요..
따른 수정한건 없구요..압축 불어서 모두 덮혀씌우는 방식으로 업로드 했습니다.
주소는 http://www.fstylesnow.com/bbs/Market 이며, 버젼은 1.1.0 입니다.
{category_newest($val->category_srl,10800)} 에서 10800이 초단위인가요? 분단위?
한기지 더 여쭈어봅니다. 글을 남기면 그 Category 에 N 이라고 떠야하는데..해당 Category 말고 모든 카테고리에 N 이라고 뜹니다.
그리고 수정하면 마찬가지로 모든 Category 에 U 라고 뜨구요..
따른 수정한건 없구요..압축 불어서 모두 덮혀씌우는 방식으로 업로드 했습니다.
주소는 http://www.fstylesnow.com/bbs/Market 이며, 버젼은 1.1.0 입니다.









