게시물의 성격에 따라 마감일자가 있는 게시물이 있습니다. 예를 들면 각종 이벤트나 쿠폰 정보같은 게시물입니다.
이와 같은 게시물의 경우 게시물 작성 시 확장변수에 마감일을 기재한 후 현재일자와 비교해서 제목에 자동으로 현재 게시물의 상태( 종료, 오늘종료, 진행중 등등 )를 변경 해 주고 싶은 경우 사용할 만한 팁입니다.
에덴게시판 스킨기준 입니다.
[ table.html ] 목록 제목이 표시되는 위치쯤에 아래 코드를 넣어주세요.
코드 중 {@ $date = $document->getExtraEidValue('end')}
// 'end'는 게시판에 설정한 확장변수명을 기입 해 주세요.
<td class="title" cond="$val->type=='title' && $val->idx==-1">
<a href="{getUrl('document_srl',$document->document_srl, 'listStyle', $listStyle, 'cpage','')}" class="ed link-reset" style="<!--@if($module_info->list_table_row_height)-->padding-top: {$module_info->list_table_row_height}; padding-bottom: {$module_info->list_table_row_height}<!--@end-->">
<strong class="ed margin-right-xsmall" cond="$document->get('category_srl')" style="color:{$category_list[$document->get('category_srl')]->color}"|cond="$category_list[$document->get('category_srl')]->color!='transparent'">[{$category_list[$document->get('category_srl')]->title}]</strong>
{@ $now = date("Ymd");}
{@ $date = $document->getExtraEidValue('end')}
<!--@if(!$date)-->
<span class="ed title-link">{$document->getTitle($module_info->list_title_limit)}</span>
<!--@elseif($now > $date)-->
<span class="ed title-link" style="color:#a6a6a6;text-decoration: line-through !important;">[종료] {$document->getTitle($module_info->list_title_limit)}</span>
<!--@elseif($now < $date)-->
<span class="ed title-link">[진행중] {$document->getTitle($module_info->list_title_limit)}</span>
<!--@elseif($now == $date)-->
<span class="ed title-link">[오늘종료] {$document->getTitle($module_info->list_title_limit)}</span>
<!--@end-->
<span class="ed text-primary" cond="$document->getCommentCount()">{$document->getCommentCount()}</span>
[ 결과 ]
입력한 게시물의 마감일 확장변수에 입력된 값이 오늘과 같을 때 : [ 오늘종료 ] 제목으로 출력
입력한 게시물의 마감일 확장변수에 입력된 값이 오늘 보다 이전날자일 때 : [ 종료 ] 제목으로 출력
입력한 게시물의 마감일 확장변수에 입력된 값이 오늘 보다 이후 날자일 때 : [ 진행중 ] 제목으로 출력
입력한 게시물의 마감일 확장변수에 입력된 값이 없을 때 : 제목으로 출력
[문하우스의 응용]
마트몬님이 올려 주신 팁이 에덴게시판 스킨 기준이라
스케치북게시판 스킨에 적용하는 방법과 더블어 게시판설정을 약간 변경합니다.
1. skin.xml 파일에 추가
<title xml:lang="ko">★종료출력 사용자 정의 이름</title>
<description xml:lang="ko">종료 출력을 원하는 확장변수의 사용자 정의 이름을 적어주세요(기본 end)</description>
</var>
<var name="end_title" type="text">
<title xml:lang="ko"> ┖ 종료</title>
<description xml:lang="ko">종료 제목을 적어주세요(기본 종료)</description>
</var>
<var name="ing_title" type="text">
<title xml:lang="ko"> ┖ 진행중</title>
<description xml:lang="ko">진행중 제목을 적어주세요(기본 진행중)</description>
</var>
<var name="today_title" type="text">
<title xml:lang="ko"> ┖ 오늘종료</title>
<description xml:lang="ko">오늘종료 제목을 적어주세요(기본 오늘종료)</description>
</var>
2. 유형을 목록형에 적용 _list_normal.html
- 중략 -
<td class="title">
<!--// 제목 -->
- 중략 -
{$document->getTitle($mi->subject_cut_size)}
{$document->getTitle($mi->subject_cut_size)} 부분이 두군데 있습니다.
아래와 같이 수정하면 됩니다.
{@
if(!$mi->end_name) $mi->end_name = end;
if(!$mi->end_title) $mi->end_title = 종료;
if(!$mi->ing_title) $mi->ing_title = 진행중;
if(!$mi->today_title) $mi->today_title = 오늘종료;
}
{@ $now = date("Ymd");}
{@ $date = $document->getExtraEidValue($mi->end_name)}
<!--@if(!$date)-->
<span>{$document->getTitle($mi->subject_cut_size)}</span>
<!--@elseif($now > $date)-->
<span style="color:#a6a6a6; text-decoration:line-through !important;"><span style="border:1px solid #000; padding:3px; background:#999; color:#fff; border-radius:3px; margin-right:5px">{$mi->end_title}</span> {$document->getTitle($mi->subject_cut_size)}</span>
<!--@elseif($now < $date)-->
<span><span style="border:1px solid #000; padding:3px; background:#00ccff; color:#fff; border-radius:3px; margin-right:5px">{$mi->ing_title}</span> {$document->getTitle($mi->subject_cut_size)}</span>
<!--@elseif($now == $date)-->
<span><span style="border:1px solid #000; padding:3px; background:#ff0000; color:#fff; border-radius:3px; margin-right:5px">{$mi->today_title}</span> {$document->getTitle($mi->subject_cut_size)}</span>
<!--@end-->
<!--// 종료 확장변수 설정끝 -->