first commit 2
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// 💡 [핵심] 라이브러리 함수를 사용하여 모듈 설정 로드
|
||||
$rb_skin = get_rb_module_config($options);
|
||||
|
||||
// 💡 [핵심] 설정값 적용 (없으면 기본값)
|
||||
$thumb_width = (int)($rb_skin['md_width'] ? $rb_skin['md_width'] : 180);
|
||||
$thumb_height = (int)($rb_skin['md_height'] ? $rb_skin['md_height'] : 150);
|
||||
$list_count = (is_array($list) && $list) ? count($list) : 0;
|
||||
|
||||
// 모듈 타이틀 설정
|
||||
if(isset($rb_skin['md_title']) && $rb_skin['md_title']) {
|
||||
$bo_subject = $rb_skin['md_title'];
|
||||
}
|
||||
|
||||
// 카테고리 링크 설정
|
||||
if(isset($rb_skin['md_sca']) && $rb_skin['md_sca']) {
|
||||
$links_url = get_pretty_url($bo_table,'','sca='.urlencode($rb_skin['md_sca']));
|
||||
} else {
|
||||
$links_url = get_pretty_url($bo_table);
|
||||
}
|
||||
|
||||
// 💡 [추가] CSS/JS 로드
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css?ver='.G5_SERVER_TIME.'">', 0);
|
||||
if(file_exists($latest_skin_path.'/script.js')) {
|
||||
add_javascript('<script src="'.$latest_skin_url.'/script.js?ver='.G5_SERVER_TIME.'"></script>', 0);
|
||||
}
|
||||
|
||||
// 💡 [추가] 동적 그리드 변수 설정 (기본값 1열)
|
||||
$pc_columns = (isset($rb_skin['md_col']) && (int)$rb_skin['md_col'] > 0) ? (int)$rb_skin['md_col'] : 1;
|
||||
$mo_columns = (isset($rb_skin['md_col_mo']) && (int)$rb_skin['md_col_mo'] > 0) ? (int)$rb_skin['md_col_mo'] : 1;
|
||||
$css_vars = "--pc-columns: {$pc_columns}; --mo-columns: {$mo_columns};";
|
||||
|
||||
/*
|
||||
모듈설정 연동 변수
|
||||
$rb_skin['md_id'] 설정ID
|
||||
$rb_skin['md_layout'] 레이아웃 섹션ID
|
||||
$rb_skin['md_layout_name'] 레이아웃 스킨명
|
||||
$rb_skin['md_theme'] 테마명
|
||||
$rb_skin['md_title'] 타이틀(제목)
|
||||
$rb_skin['md_bo_table'] 게시판ID
|
||||
$rb_skin['md_skin'] 스킨명
|
||||
$rb_skin['md_cnt'] 출력갯수
|
||||
$rb_skin['md_col'] 행갯수
|
||||
$rb_skin['md_row'] 열갯수
|
||||
$rb_skin['md_col_mo'] 행갯수(모바일)
|
||||
$rb_skin['md_row_mo'] 열갯수(모바일)
|
||||
$rb_skin['md_gap'] 게시물 간격(여백)
|
||||
$rb_skin['md_gap_mo'] 모바일 게시물 간격(여백)
|
||||
$rb_skin['md_width'] 가로사이즈
|
||||
$rb_skin['md_height'] 세로사이즈
|
||||
$rb_skin['md_auto_time'] 자동롤링 시간
|
||||
$rb_skin['md_thumb_is'] 썸네일 출력여부(1,0)
|
||||
$rb_skin['md_nick_is'] 닉네임 출력여부(1,0)
|
||||
$rb_skin['md_date_is'] 작성일 출력여부(1,0)
|
||||
$rb_skin['md_content_is'] 본문내용 출력여부(1,0)
|
||||
$rb_skin['md_icon_is'] 아이콘 출력여부(1,0)
|
||||
$rb_skin['md_comment_is'] 댓글수 출력여부(1,0)
|
||||
$rb_skin['md_swiper_is'] 스와이프 여부(1,0)
|
||||
$rb_skin['md_auto_is'] 자동롤링 여부(1,0)
|
||||
*/
|
||||
?>
|
||||
<link rel="stylesheet" href="<?php echo $latest_skin_url ?>/style.css?ver=<?php echo G5_SERVER_TIME ?>">
|
||||
<div class="latest-basic-skin" style="<?php echo $css_vars; ?>">
|
||||
|
||||
<!-- 💡 [수정] 표준 타이틀 영역 적용 -->
|
||||
<ul class="bbs_main_wrap_tit" style="display:<?php echo (isset($rb_skin['md_title_hide']) && $rb_skin['md_title_hide'] == '1') ? 'none' : 'block'; ?>">
|
||||
<li class="bbs_main_wrap_tit_l">
|
||||
<a href="<?php echo $links_url; ?>">
|
||||
<h2 class="<?php echo isset($rb_skin['md_title_font']) ? $rb_skin['md_title_font'] : 'font-B'; ?>" style="color:<?php echo isset($rb_skin['md_title_color']) ? $rb_skin['md_title_color'] : '#25282b'; ?>; font-size:<?php echo isset($rb_skin['md_title_size']) ? $rb_skin['md_title_size'] : '20'; ?>px; "><?php echo $bo_subject ?></h2>
|
||||
</a>
|
||||
</li>
|
||||
<li class="bbs_main_wrap_tit_r">
|
||||
<button type="button" class="more_btn" onclick="location.href='<?php echo $links_url ?>';">더보기</button>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="basic-list-grid">
|
||||
<?php
|
||||
for ($i=0; $i<$list_count; $i++) {
|
||||
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);
|
||||
?>
|
||||
<li>
|
||||
<a href="<?php echo $list[$i]['href'] ?>">
|
||||
<?php if ($rb_skin['md_thumb_is']) { ?>
|
||||
<?php if($thumb['src']) { ?>
|
||||
<img src="<?php echo $thumb['src']; ?>" alt="<?php echo $thumb['alt']; ?>">
|
||||
<?php } else { ?>
|
||||
<span class="no-img"></span>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<span class="subject"><?php echo $list[$i]['subject']; ?></span>
|
||||
<?php if ($rb_skin['md_date_is']) { ?>
|
||||
<span class="date"><?php echo $list[$i]['datetime2'] ?></span>
|
||||
<?php } ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($list_count == 0) { ?>
|
||||
<li class="empty_li">게시물이 없습니다.</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -0,0 +1,62 @@
|
||||
/* Latest Basic Skin Style - Final Layout Fix */
|
||||
|
||||
.latest-basic-skin {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
background: #fff;
|
||||
padding: 15px;
|
||||
/* 💡 [핵심 수정] Flexbox 컬럼 방향으로 설정하여 세로 배치 강제 */
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.latest-basic-skin .bbs_main_wrap_tit {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 2px solid #333;
|
||||
flex-shrink: 0; /* 타이틀 영역이 찌그러지지 않도록 */
|
||||
}
|
||||
|
||||
.latest-basic-skin .bbs_main_wrap_tit_l { min-width: 0; }
|
||||
.latest-basic-skin .bbs_main_wrap_tit_l h2 { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
||||
.latest-basic-skin .bbs_main_wrap_tit_r { flex-shrink: 0; margin-left: 15px; }
|
||||
.latest-basic-skin .more_btn {
|
||||
position: relative; /* 💡 [핵심 수정] absolute 속성 덮어쓰기 */
|
||||
background: none;
|
||||
border: 1px solid #ddd;
|
||||
padding: 5px 10px;
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
cursor: pointer;
|
||||
border-radius: 3px;}
|
||||
.latest-basic-skin .cb { display: none; }
|
||||
|
||||
.basic-list-grid {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(var(--pc-columns, 1), 1fr);
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.latest-basic-skin li { padding: 8px 0; border-bottom: 1px solid #f5f5f5; }
|
||||
.latest-basic-skin li:last-child { border-bottom: 1px solid #f5f5f5; }
|
||||
.latest-basic-skin li a { display: flex; align-items: center; text-decoration: none; color: #555; transition: color 0.2s; }
|
||||
.latest-basic-skin li a:hover { color: #0056b3; }
|
||||
.latest-basic-skin li img { width: 40px; height: 40px; object-fit: cover; border-radius: 4px; margin-right: 10px; flex-shrink: 0; }
|
||||
.latest-basic-skin li .no-img { display: none; }
|
||||
.latest-basic-skin .subject { flex-grow: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; }
|
||||
.latest-basic-skin .date { font-size: 12px; color: #999; margin-left: 10px; flex-shrink: 0; }
|
||||
.empty_li { grid-column: 1 / -1; text-align: center; padding: 50px 0; color: #999; }
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
.basic-list-grid {
|
||||
grid-template-columns: repeat(var(--mo-columns, 1), 1fr);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user