XpressEngine에 관련 내용에 대해서 이야기 합니다.
글 수 193
제목이 좀 애매하네요.
위에 보시는 바와 같이 해당 카테고리에 글이 등록되거나 수정 될때의 아이콘을 표기해주는 기능을 추가 했습니다.
누군가 요청하셔서 올려 드립니다.
실제 출력은 위와 같진 않고 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 : 아래 첨부파일 받아서 설치하시는 분들은 위 함수 신경쓰지 않아셔도 됩니다.
윤지영
- 2008.12.15
- 18:33:58
- (*.147.19.37)
안녕하세요 라르게덴님~
이 위젯을 꼭 수정해서 만들고 있는 사이트에 설치하고 싶은데...도와주실 수 있으신지요?
바쁘다는 것도 알고 있고 다른 분들 글도 다 보고...나름 해봐도 안되어서 xe질답게시판에도 글 올리고...-.- 시도해봤습니다. 이젠 피로해서 집중이 안되네요..부탁드립니다...
카테고리 대신 전체 메뉴에 적용하고 싶은데 알려주신 팁...대로 해야하는 걸 알지만...무리네요...감사합니다.
http://www.zeroboard.com/17545503
이 위젯을 꼭 수정해서 만들고 있는 사이트에 설치하고 싶은데...도와주실 수 있으신지요?
바쁘다는 것도 알고 있고 다른 분들 글도 다 보고...나름 해봐도 안되어서 xe질답게시판에도 글 올리고...-.- 시도해봤습니다. 이젠 피로해서 집중이 안되네요..부탁드립니다...
카테고리 대신 전체 메뉴에 적용하고 싶은데 알려주신 팁...대로 해야하는 걸 알지만...무리네요...감사합니다.
http://www.zeroboard.com/17545503
이 위젯을 적용해 볼려고 하느느데요.
자꾸만 위와 같은 오류가 뜨는데요..
아 도저히 모르겠습니다. ....ㅠㅠ