55 lines
1.9 KiB
PHP
55 lines
1.9 KiB
PHP
<?php
|
|
if (!defined('_GNUBOARD_')) exit;
|
|
|
|
// 1. 설정 파일 로드
|
|
$config_path = __DIR__ . '/config.php';
|
|
if (!file_exists($config_path)) return;
|
|
include_once($config_path);
|
|
|
|
// 2. 설정값에 따라 데이터 가져오기
|
|
$bo_table = $media_gallery_config['bo_table'];
|
|
$load_rows = $media_gallery_config['load_rows'];
|
|
$grid_columns = $media_gallery_config['grid_columns'];
|
|
$subject_len = $media_gallery_config['subject_len'];
|
|
|
|
$list = get_latest($bo_table, $load_rows, $subject_len);
|
|
|
|
// 3. CSS 변수 및 조건부 클래스 설정
|
|
$css_vars = "--grid-columns: {$grid_columns};";
|
|
$section_class = 'media-gallery-section';
|
|
|
|
// 💡 [핵심 추가] 1x1 그리드일 경우 특별 클래스를 추가합니다.
|
|
if ($grid_columns == 1 && $media_gallery_config['grid_rows'] == 1) {
|
|
$section_class .= ' is-single-item';
|
|
}
|
|
?>
|
|
|
|
<div class="<?php echo $section_class; ?>" style="<?php echo $css_vars; ?>">
|
|
<ul class="gallery-grid">
|
|
<?php
|
|
for ($i = 0; $i < count($list); $i++) {
|
|
$item = $list[$i];
|
|
$thumb = get_list_thumbnail($bo_table, $item['wr_id'], 400, 400, false, true);
|
|
$thumb_src = $thumb['src'] ?: G5_THEME_URL . '/rb.img/no_image.png';
|
|
?>
|
|
<li class="gallery-item">
|
|
<a href="<?php echo $item['href']; ?>">
|
|
<div class="gallery-image">
|
|
<img src="<?php echo $thumb_src; ?>" alt="<?php echo $item['subject']; ?>">
|
|
</div>
|
|
<div class="gallery-caption">
|
|
<h3><?php echo $item['subject']; ?></h3>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
<?php
|
|
}
|
|
if (count($list) == 0) {
|
|
echo "<li class='empty-gallery'>게시물이 없습니다.</li>";
|
|
}
|
|
?>
|
|
</ul>
|
|
</div>
|
|
|
|
<link rel="stylesheet" href="<?php echo G5_THEME_URL; ?>/rb.custom/media_gallery_section/module.css?ver=<?php echo G5_CSS_VER; ?>">
|