= NOW() ORDER BY bn_order ASC, bn_id DESC "; $result = sql_query($sql); $all_banners = []; while ($row = sql_fetch_array($result)) { $row['bn_img'] = '' . get_text($row['bn_alt']) . ''; $all_banners[] = $row; } // 💡 [핵심 수정] 설정값(display_mode)에 따라 배너 분류 $display_mode = $general_ad_config['display_mode']; // 'fixed' or 'slide' $fixed_banners = []; $slide_groups = []; if ($display_mode === 'fixed') { // 고정형: 모든 배너를 고정 영역으로 $fixed_banners = $all_banners; } else { // 슬라이드형: 모든 배너를 하나의 슬라이드 그룹으로 (다중 행 처리는 아래에서 함) // 키는 임의로 'default'로 지정 if (!empty($all_banners)) { $slide_groups['default'] = $all_banners; } } $md_banner_skin = isset($module_config['md_banner_skin']) && $module_config['md_banner_skin'] !=''? $module_config['md_banner_skin'] : 'rb.mod/banner/skin/split_layout'; $item_skin_file = G5_PATH . '/rb/' . $md_banner_skin . '/skin.php'; $css_vars = [ '--fixed-columns: ' . (int)$general_ad_config['fixed_grid_columns'], '--banner-width: ' . (int)$general_ad_config['banner_width'] . 'px', '--banner-height: ' . (int)$general_ad_config['banner_height'] . 'px', '--banner-gap: ' . (int)$general_ad_config['banner_gap'] . 'px', ]; $visual_id = 'gas_' . uniqid(); ?>
'; include($item_skin_file); echo '
'; } } ?>
$banners): $columns = (int)$general_ad_config['fixed_grid_columns']; $chunk_size = $columns * 2; $banner_rows = array_chunk($banners, $chunk_size); ?> $banners_in_row): $current_count = count($banners_in_row); $slides_per_view = ($current_count < $columns) ? $current_count : $columns; ?>
등록된 배너가 없습니다.