latest 질문있습니다.. 채택완료
안녕하세요.. 이틀동안 이것저것 헤딩해보면서 하다가 결국엔 질문을 남깁니다ㅠㅠ
</p>
<p>echo latest('theme/basic', 'gallery', 12, 25);</p>
<p>
위 코드가 theme/basic 스킨에 gallery 게시판의 데이터에 최신글을 뽑아오는 함수로 알고있습니다..
지금 작업하는 부분이 게시글 쓸때 설정해놓은 시작날짜,종료날짜 중 종료날짜가 현재시간과 비교했을때 24시간 이하인 데이터만 출력하게끔 하는 페이지를 만들고 있는데,
기존에 전체를 뿌려오는걸 위 코드로 목록을 가져오고 있었거든요.. (모바일 index.php)
그래서 새로운 페이지(모바일 deadline.php) 를 만들어서 latest 함수를 조금 수정하면 되겠다 싶어서
latest2를 latest 똑같이 복사해서
</p>
<p>$tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 order by wr_num limit 0, {$rows} ";</p>
<p>
이 부분을 아래와 같이 쿼리를 변경했는데..
SELECT *
FROM(
SELECT now() as now,
wr_5 as end,
TIMESTAMPDIFF(HOUR, now(), wr_5) as time
FROM g5_write_gallery
) as sub
where time < 24
전혀 반영이 안되길래.. echo '체크'; 로 여기저기 찍어보면서 파악한것은..
</p>
<p>} else {
$list = $cache_list;
$bo_subject = (is_array($caches) && isset($caches['bo_subject'])) ? $caches['bo_subject'] : '';
}</p>
<p>
한번 캐시를 생성해서 리스트를 뿌려주면 다음번 뿌릴땐 저기 else문으로 가서 cache_list로 온다는거 까지 파악했습니다..
그냥 새로 html, css, php로 만드는게 나을까요?..
latest 함수를 어떻게 커스텀 할수 있는 방법이 없을까요
답변 1개
1) /lib/latest.lib.php 파일의
latest() 함수를 복사 -> latest2() 생성
2) latest2()
$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 order by wr_num limit 0, {$rows} ";
의 sql 구문을 원하는 조건으로 변경
->
$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 and wr_5 >= now() - INTERVAL 1 DAY order by wr_num limit 0, {$rows} ";
3) echo latest2('theme/basic', 'gallery', 12, 25);
답변에 대한 댓글 2개
latest함수에 43번째 line if( $caches === false) 가 캐시가 없을땐 그 하위 내용으로 인하여 내용들을 생성하지만 캐시가 있을땐 else문으로 빠져서 $cache_list를 그대로 불러오는 구조로 되어있었습니다.
제 해결방법은 ..
똑같이 복사하여 latest2를 만든 뒤 if( $caches === false) 를 없애고 밑에 else문도 없애고 위에꺼만 실행되게 하였습니다..
이 방법이 차후에도 문제가 없을지는 잘 모르겠지만, 일단 프로젝트 완성 후 한번 더 latest 함수를 파봐야겠네요ㅠㅠ
마르스님 한번 더 감사합니다!! 즐거운 오전되세요^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인