마감일자 있는 게시판 내용을 위젯으로 출력해 보기
마트몬님의 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