마감일자가 있는 성격의 게시물 제목에 자동으로 상태(종료, 오늘종료, 진행중 등등 ) 반영하기 팁
위의 두 팁을 합쳐서 확장변수를 이용해 진행버턴과 D-Day를 함께 출력하는 팁입니다.
게시판 스킨은 sketchbook5 입니다.
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="approach_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>
<var name="a_d" type="text">
<title xml:lang="ko"> ┖ 종료임박 날수</title>
<description xml:lang="ko">종료임박 날 수를 적어주세요(기본 +1 day / 진행중 날 수와 동일 설정)</description>
</var>
<var name="i_d" type="text">
<title xml:lang="ko"> ┖ 진행중 시작 날수</title>
<description xml:lang="ko">진행중 시작 날수를 적어주세요(기본 -1 days / 종료임박 날 수와 동일 설정)</description>
</var>
<var name="d_day" type="radio">
<title xml:lang="ko">D-Day출력</title>
<description xml:lang="ko">D-Day를 출력표시합니다.</description>
<options value="">
<title xml:lang="ko">표시 안함(기본)</title>
</options>
<options value="Y">
<title xml:lang="ko">표시</title>
</options>
</var>
<var name="d_day_title" type="text">
<title xml:lang="ko"> ┖ D-Day</title>
<description xml:lang="ko">D-Day 제목을 적어주세요</description>
</var>
2. _list_normal.html 파일 수정 {$document->getTitle($mi->subject_cut_size)} 부분을 찾아서 아래와 같이 수정
{@
if(!$mi->end_name) $mi->end_name = end;
if(!$mi->end_title) $mi->end_title = 종료;
if(!$mi->d_day_title) $mi->d_day_title = '';
if(!$mi->ing_title) $mi->ing_title = 진행중;
if(!$mi->approach_title) $mi->approach_title = 종료임박;
if(!$mi->today_title) $mi->today_title = 오늘종료;
if(!$mi->i_d) $mi->i_d = '-1 days';
if(!$mi->a_d) $mi->a_d = '+1 day';
$now = date("Y-m-d");
$date = $document->getExtraEidValueHTML($mi->end_name);
$this_day = date_create($document->getExtraEidValueHTML($mi->end_name));
$date1 = date("Y-m-d",strtotime($this_day->format("Y-m-d").($mi->i_d)));
$datetime = new DateTime($now);
$date2 = $datetime->modify($mi->a_d);
$w_d_day_text = str_replace('.', '-', $date);// D-day 날짜 설정
$w_d_day = strtotime($w_d_day_text);
$w_today = time();// 오늘 날짜 설정
$w_diff = $w_d_day - $w_today;// D-day와 오늘 날짜 차이 계산
$w_days = floor($w_diff / (60 * 60 * 24))+1;// 초를 일 수로 변환
}
<!--// 종료 확장변수 설정 -->
<!--@if(!$date)-->
<span>
<!--@elseif($now > $date)-->
<span style="color:#a6a6a6; text-decoration:line-through !important;"><span class="sbtn_mini sbtn-dark" style="margin-right:5px">{$mi->end_title}</span>
<!--@elseif($now == $date)-->
<span style="color:red"><span class="sbtn_mini sbtn-red" style="margin-right:5px">{$mi->today_title} <span cond="$mi->d_day">[{$mi->d_day_title} - 0]</span></span>
<!--@elseif($now < $date1)-->
<span><span class="sbtn_mini sbtn-yellow" style="margin-right:5px">{$mi->ing_title} <span cond="$mi->d_day">[{$mi->d_day_title} - {$w_days}]</span></span>
<!--@elseif($date2)-->
<span><span class="sbtn_mini sbtn-blue" style="margin-right:5px">{$mi->approach_title} <span cond="$mi->d_day">[{$mi->d_day_title} - {$w_days}]</span></span>
<!--@end-->
{$document->getTitle($mi->subject_cut_size)}
</span>
<!--// 종료 확장변수 설정끝 -->
3. 게시판 설정에서 확장 변수 ID를 "end"로 형식은 "일자(연월일)"로 추가하고 게시판 글 작성시 마감일시를 적용하면 됩니다.
https://moonhouse.co.kr/map
4. mh_multi 위젯 mh_sketchbook5_list 스킨에 적용한 모습 https://moonhouse.co.kr/multi
참고로 버턴이미지는 웹폰트 에드온 의 폰트어썸과 Sexy Button을 적용했습니다.