마트몬님의 Tip을 이용하여 확장변수에 마감일짜가 있는 게시판내용을 위젯으로 출력해 보는 팁을 남깁니다.
마트몬님이랑 제질문에 댓글을 달아주신 고마우신 분들의 성의를 생각하여 저도 일조해 봅니다.
https://xetown.com/questions/1300284
아래에 있는 코드가 정상적인 코드인지는 코알못이라 확실하지는 않지만 그래도 정상적으로 작동을 합니다.
먼저 위젯에 붙이고 싶은 위치를 찾아서 아래의 코드를 삽입하면 됩니다.
예로 타이틀 뒤에 붙이고 싶으면 content위젯의 경우 /widgets/content/skins/default/normal.html 파일에서
{$item->getTitle($widget_info->subject_cut_size)}를 찾아서 아래와 같이 수정하면 됩니다.
{@
$now = date('Y-m-d');
$date = $oDocument->getExtraEidValueHTML('end');
$this_day = date_create($oDocument->getExtraEidValueHTML('end'));
$date1 = date('Y-m-d',strtotime($this_day->format('Y-m-d').'-1 days'));
$datetime = new DateTime($now);
$date2 = $datetime->modify('+1 day')
}
<!--// 종료 확장변수 설정 -->
<!--@if(!$date)-->
<span>{$item->getTitle($widget_info->subject_cut_size)}</span>
<!--@elseif($now > $date)-->
<span style="color:#a6a6a6; text-decoration:line-through !important;"><span style="margin-right:5px">[종료]</span>
<!--@elseif($now == $date)--> {$item->getTitle($widget_info->subject_cut_size)}</span>
<span><span style="margin-right:5px">[오늘종료]</span> {$item->getTitle($widget_info->subject_cut_size)}</span>
<!--@elseif($now < $date1)-->
<span><span style="margin-right:5px">[진행중]</span> {$item->getTitle($widget_info->subject_cut_size)}</span>
<!--@elseif($date2)-->
<span><span style="margin-right:5px">[종료임박]</span> {$item->getTitle($widget_info->subject_cut_size)}</span>
<!--@end-->
<!--// 종료 확장변수 설정끝 -->
참고로 게시판의 확장변수는 먼저 적용할 게시판에
"설정" - "사용자정의" 에 사용자정의 이름을 end로 하고
"형식"을 "일자(연월일)"로 확장변수를 하나 만듭니다.
B. 게시판에 글 작성시 확장변수의 종료일을 지정합니다.
(종료일을 지정하지 않으면 종료 기능이 작동하지 않습니다)
참고로 종료임박의 날짜는 숫자를 같이 변경하면 됩니다.(종료임박이 2일이면)
- 진행중 $date1 = date('Y-m-d',strtotime($this_day->format('Y-m-d').'-2 days'));
- 종료임박 $date2 = $datetime->modify('+2 day')
[참고로 제가 만든 위젯의 출력 모습입니다]
그리고 이 코드를 응용하여 해당 게시물을 팝업으로 띄우고 해당 날짜에 팝업을 종료할 수 있는
Mh Appoint PopUp 위젯도 만들어 봤습니다.

댓글 3