최신 게시글에서는 작성일이 '시간 전'으로 표시가 안 됩니다

최신 게시글에서는 작성일이 '시간 전'으로 표시가 안 됩니다

QA

최신 게시글에서는 작성일이 '시간 전'으로 표시가 안 됩니다

본문

안녕하십니까?
좋은 하루 되십시오~


해결이 되지 않아서 재차 질문을 올립니다. 죄송~~


1. 일반 게시판에서는 작성일을 '18:00' → '1시간전' 으로 표시하는 것이 잘 됩니다.

   1) lib/common.lib.php > get_list 함수 내에 필요한 코드를 삽입하고

   2) skin/board/basic/list.skin.php에서 게시판 리스트에 날짜를 표기해주는 부분에
      $list['datetime'] 이나 $list['datetime2']를 찾아 → $list['datetime3'] 으로 대체해 주면 됩니다.


2. 그런데 제가 적용을 잘 못해서 그런지 최신 게시글 리스트에서는 '18:00' → '1시간전' 으로 표시하는 것을 헤메고 있습니다.

   1) bbs/new.php 에서 위 1.항의 1)처럼 필요한 코드를 삽입하고

   2) skin/new/basic/new.skin에서 게시판 리스트에 날짜를 표기해주는 부분에
      $list['datetime2']를 찾아 → $list['datetime3'] 으로 대체해주었는데...
      적용이 안 되네요...ㅜㅜ

      여기저기 수정하다 결국 포기하고 질문을 올립니다.


3. 구조를 보니까

   1) list.skin.php 에는 다음처럼 되어 있고

      <th scope="col"><?php echo subject_sort_link('wr_datetime3', $qstr2, 1) ?>작성일</a></th>

      <td class="td_date"><?php if (!$list[$i]['is_notice']) echo $list[$i]['datetime3']; ?></td>


   2) new.skin 에는 다음처럼 되어 있습니다.

      <td class="td_date"><?php echo $list[$i]['datetime3'] ?></td>


   위의 차이 때문에 안 되는 것 같습니다.


4. 그러면 어디를 어떻게 수정해야 합니까?


   감사합니다.

이 질문에 댓글 쓰기 :

답변 3

한번 해봤는데 이렇게 해도 나오네요. row2 인 것 같더라고요.

 

$diff = time() - strtotime($row2['wr_datetime']);

if( $diff < 10 ) $datetime3 = "<span style=\"color:#000000;\">방금</span>"; 

else if( $diff < 30 ) $datetime3 = "<span style=\"color:#000000;\">조금 전</span>";

else if( $diff < 60 ) $datetime3 = "<span style=\"color:#000000;\">{$diff}초 전</span>";

else if( 600 > $diff && $diff > 60 ) $datetime3 = "<span style=\"color:#000000;\">".round($diff/60). "분 전</span>";

else if( 3600 > $diff && $diff > 600 ) $datetime3 = "<span style=\"color:#000000;\">아까</span>";

else if( 86400 > $diff && $diff > 3600 ) $datetime3 = "<span style=\"color:#000000;\">".round($diff/3600). "시간 전</span>";

else $datetime3 = substr($row2['wr_datetime'],5,5);

 

 

이렇게 전부 수정하시고.. 좀 더아래쪽에 보면 이런 부분이 있습니다. 빨간색 부분 추가해보세요.

(여기 추가 필요없이 균이님 말씀처럼 위 내용에 $list[$i]['datetime3'] 를  직접 넣어도 됩니다.)

 

$list[$i]['datetime'] = $datetime;

$list[$i]['datetime2'] = $datetime2;

$list[$i]['datetime3'] = $datetime3;

 

 

감사합니다.
해결하였습니다.
'작은별'님 방법대로 했더니 잘 해결이 되었습니다.
좋은 밤 되십시오~
PS : 저 번에 '균이'님 것 채택하였고 오늘은 '작은별'님 것 채택했습니다.

헐..잘못 되엇습니다

 

$diff = time() - strtotime($list['wr_datetime']);  --> $diff = time() - strtotime($row2['wr_datetime']);

 

그 아래의 $list['datetime3'] 모두 --> $list[$i]['datetime3'] 

감사합니다.
해결하였습니다.
'균이'님 방법대로 했더니 되긴하는데...24시간 이후부터는 작성일이 나타나지 않습니다.
'작은별'님과 같은 방법인 것 같은데...
'작은별'님 방법대로 했더니 잘 되었습니다.
좋은 밤 되십시오~
PS : 저 번에 '균이'님 것 채택하였으므로 오늘은 아래 답변 주신 '작은별'님 것 채택해도 되겠지요~ 죄송~ ^^)

오잉? 아직인가요?

지난번 답변처럼 수정해서 안되는 코드를 올려야 안되는 이유를 알 수 있겟죠

지난번 답변외의 다른 방법은 없을 걸요?(스킨에서 하더라도 같은 방법이니) 

new.php에서

// 당일인 경우 시간으로 표시함
$datetime = substr($row3['wr_datetime'],0,10);
$datetime2 = $row3['wr_datetime'];

여기 아래에다 다음 코드를 넣었습니다.

$diff = time() - strtotime($list['wr_datetime']);
if( $diff < 10 ) $list['datetime3'] = "<span style=\"color:#000000;\">방금</span>";
else if( $diff < 30 ) $list['datetime3'] = "<span style=\"color:#000000;\">조금 전</span>";
else if( $diff < 60 ) $list['datetime3'] = "<span style=\"color:#000000;\">{$diff}초 전</span>";
else if( 600 > $diff && $diff > 60 ) $list['datetime3'] = "<span style=\"color:#000000;\">".round($diff/60). "분 전</span>";
else if( 3600 > $diff && $diff > 600 ) $list['datetime3'] = "<span style=\"color:#000000;\">아까</span>";
else if( 86400 > $diff && $diff > 3600 ) $list['datetime3'] = "<span style=\"color:#000000;\">".round($diff/3600). "시간 전</span>";
else $list['datetime3'] = substr($list['wr_datetime'],5,5);


그리고

theme/community/skin/new/basic/new.skin.php에서

<td class="td_date"><?php echo $list[$i]['datetime2'] ?></td>를
<td class="td_date"><?php echo $list[$i]['datetime3] ?></td>으로 변경하였습니다.

어디가 잘 못 되었을까요?
datetime3으로 하니까 게시판은 큰 문제가 없는데...작성일이 안 나옵니다.
다른 곳 new.skin.php을 수정하면 아무런 변화가 없는 것을 보니

theme/community/skin/new/basic/new.skin.php가 관련이 있는 것 같은데요~

 list.skin.php처럼
<th scope="col"><?php echo subject_sort_link('wr_datetime3', $qstr2, 1) ?>작성일</a></th>
이것이 없어서일까요?

알려주십시오~
감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 4
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT