라공에디션

레이아웃맵 메인 스킨 최신글 함수

<span class="sv_member">니루</span>
니루 @tabom0w0
2026-06-17 22:46

latest.lib.php을 인클루드해서 latest() 함수와 latest_all() 함수를 가져와 바로 echo로 화면에 뿌려주는 메인 스킨과 달리

레이아웃맵 메인 스킨은 스킨 자체에서 layer_functions.php/main_reup_latest_items() 함수를 통해 직접 쿼리한다


그말은?

내가 열심히 수정한 latest.lib.php가 무용지물이 되었다는 뜻이죠^^

하하하핫


어디 함 #가보자고


CASElayer_functions.php/main_reup_latest_items() 함수 수정


SCENE1. 쿼리 수정

$timeline_condition = (isset($board['bo_type']) && $board['bo_type'] === 'timeline') ? ' AND tm_origin = wr_id' : '';
$result = sql_query("SELECT wr_id, wr_subject, wr_content, wr_name, wr_datetime, wr_comment, wr_option, wr_img
    FROM {$write_table}

이 부분을 찾아서

$timeline_condition = '';
$wr_last_update = 'wr_datetime';
$wr_comment_count = 'wr_comment';

if (isset($board['bo_type']) && $board['bo_type'] === 'timeline') {
    $timeline_condition = ' AND tm_origin = wr_id';
    $wr_last_update = "(SELECT MAX(wr_datetime) FROM {$write_table} WHERE tm_origin = a.wr_id)";
    $wr_comment_count = "(SELECT COUNT(*) - 1 FROM {$write_table} WHERE tm_origin = a.wr_id)";
}

$result = sql_query("SELECT wr_id, wr_subject, wr_content, wr_name, wr_option, wr_img, {$wr_last_update} as wr_datetime, {$wr_comment_count} as wr_comment
    FROM {$write_table} a

로 교체한다

두 군데 있고 둘 다 고치면 된다


SCENE2. 쿼리한 데이터에 멤버공개글 표시 옵션도  추가


1. 비밀글인지 확인하는 변수 아래에멤버공개글인지 확인하는 변수를 추가한다

$is_secret = isset($row['wr_option']) && strpos((string)$row['wr_option'], 'secret') !== false; // 비밀글 여부 확인
$is_member = isset($row['wr_option']) && strpos((string)$row['wr_option'], 'member') !== false; // 멤버공개글 여부 확인


2. 비밀글이면 '비밀글입니다.', 멤버공개글이면 '멤버공개글입니다.' 문구가 제목 대신 출력되도록 수정한다

'subject' => $is_secret ? '비밀글입니다.' : conv_subject((string)($row['wr_subject'] ?? ''), $subject_len, '…'),

이 부분을 찾아서

'subject' => $is_secret ? '비밀글입니다.' : ($is_member ? '멤버공개글입니다.' : conv_subject((string)($row['wr_subject'] ?? ''), $subject_len, '…')),

로 교체한다.



CASE최신글 렌더링하는 render_latest_layer() 함수 수정

오늘 작성한 글은 TODAY 표시, 날짜는 yy.mm.dd 형식으로 표시되도록 한다


$date_text = $datetime ? ($datetime >= strtotime(date('Y-m-d')) ? date('H:i', $datetime) : date('m.d', $datetime)) : '';

이 부분을 찾아서

$date_text = $datetime ? ($datetime >= strtotime(date('Y-m-d')) ? 'TODAY' : date('y.m.d', $datetime)) : '';

로 바꿔준다

댓글목록

등록된 댓글이 없습니다.