@김햄C님께 대댓글 달려다가 내용이 길어져서 별도 게시물로 작성합니다.
현재 해당 위젯 스킨은 날짜 구현이 문서 등록일로 되어 있는데요, 이를 특정 날짜로 수정해서 사이트나 운영 단체의 연혁으로 활용할 수 있도록 하는 팁입니다.
1. 확장변수를 불러오기 위해 루트/widgets/content/content.class.php 수정: 순정 파일 기준 933행과 934행 사이에 다음을 추가
function getExtraVars() { $oDocumentModel = &getModel('document'); return $oDocumentModel->getExtraVars($this->get('module_srl'), $this->get('document_srl')); } function getExtraEidValue($eid) { $extra_vars = $this->getExtraVars(); foreach($extra_vars as $idx => $key) { $extra_eid[$key->eid] = $key; } return $extra_eid[$eid]->value; }
2. 불러오고자 하는 게시판에 '일자(연월일) 형식'의 사용자 정의가 있는지 확인하고 없으면 추가. 여기선 해당 확장변수의 번호는 1번이고, 사용자 정의 이름은 event_date라고 가정하겠습니다.
3. 루트/widgets/content/skins/vertical-timeline/_history.html 를 열고 9행의 <li loop="$widget_info->content_items=>$key,$item" class="cd-timeline-block" style="display:none"|cond="$_idx >= $widget_info->list_count"> 끝 부분에 다음과 같이 조건식 추가: <li loop="$widget_info->content_items=>$key,$item" class="cd-timeline-block" style="display:none"|cond="$_idx >= $widget_info->list_count" cond="$item->getExtraEidValue('event_date')">
4. 같은 파일 14행의 {$item->getRegdate("Y.m.d")} 을 다음과 같이 수정: {zdate($item->getExtraEidValue('event_date'),'Y.m.d')} 또는 {zdate($item->getExtraVars()[1]->value,'Y.m.d')}
- 그 외에 뽀너스로 해당 게시물을 확장변수에 따라 정렬하는 방법도 알아보면 좋을 텐데요. 그건 지금 밥 먹으러 나가야 해서;;;; 그럼 이만 줄입니다. 도움이 됐으면 좋겠습니다.
...
5. (밥 먹고 옴ㅋ) 확장변수에 따른 위젯 정렬 방법: _hisotory.html 6행 쯤에 다음의 내용을 삽입.
<!--@foreach($widget_info->content_items as $key => $item)-->
{@ $new_sort[$key] = $item->getExtraEidValue('event_date'); }
<!--@end-->
{@ array_multisort($new_sort,SORT_DESC,$widget_info->content_items); }
- 여기서도 $item->getExtraEidValue('event_date') 대신 $item->getExtraVars()[1]->value 를 사용해도 무방합니다.
- 오래된 날짜부터 정렬하고 싶으면 SORT_DESC 대신 SORT_ASC 를 사용하면 됩니다.
정말 감사합니다! 저 같은 사람한테는 진짜 도움되는 글이에요 ㅠㅠㅠㅠㅠㅠ 나중에 혹시 디자인적으로 뭔가 생기시면 저도 도와드리고 싶...OTL 능력이 요것밖에 안되네요. 무튼, 정말 정말 감사합니다! 이따가 시도해봐야겠어요 +ㅅ+