Files
dnssash/theme/rd.dnssash/rb.custom/media_gallery_section/module.php
T
2026-06-11 18:47:38 +09:00

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; ?>">