first commit 2

This commit is contained in:
hmw1001
2026-06-11 18:47:38 +09:00
parent c768729ce6
commit 6f534e33a6
11095 changed files with 1595758 additions and 0 deletions
@@ -0,0 +1,9 @@
<?php
if (!defined('_GNUBOARD_')) exit;
$g5['title'] = '레이저기술';
// lasertech_new 페이지 스킨 광고 영역 설정
$lasertech_new_skin_config = [
'left_ad' => false, // 좌측 광고 사용 안함
'right_ad' => false, // 우측 광고 사용 안함
];
?>
@@ -0,0 +1,181 @@
/*
* greeting 정보형 페이지 전용 스타일
*/
.sub-page-container {
padding-top: 0px; !important;
padding-bottom: 80px;
background: #fff;
min-height: 500px;
}
.container {
/* max-width: 1200px; !important; */ /* 💡 [수정] 고정 너비 제거 */
width: 90%; !important;/* 💡 [추가] 화면 너비의 90% 사용 (좌우 5% 여백) */
max-width: 1600px; /* 💡 [추가] 너무 넓어지는 것 방지 (선택 사항) */
margin: 0 auto;
padding: 0 var(--spacing-md);
}
.info-page-container {
background-color: #fff;
padding: 40px;
border-radius: 8px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}
/* 페이지 헤더 */
.info-page-header {
text-align: center;
margin-bottom: 40px;
}
.info-page-title {
font-size: 2.5rem;
font-weight: 900;
color: #222;
line-height: 1.3;
margin-bottom: 10px;
}
.info-page-subtitle {
font-size: 1.3rem;
color: #555;
}
/* =====================================================
🔥 [수정 핵심]
이미지 | (한글 위 / 영어 아래) 2컬럼 구성
기존 flex → grid 로 변경
===================================================== */
.greeting-content-wrapper {
display: grid; /* [변경] */
grid-template-columns: 250px 1fr; /* 이미지 | 텍스트 */
column-gap: 40px;
align-items: start;
}
/* 대표 이미지 */
.greeting-figure {
flex: 0 0 250px; /* [유지] */
margin: 0;
grid-row: 1 / 3; /* 🔥 한글+영문 전체 높이 차지 */
}
.greeting-image {
width: 100%;
height: auto;
border-radius: 8px;
object-fit: cover;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
/* =====================================================
🔥 [수정 핵심]
오른쪽 컬럼 내부 정렬
===================================================== */
.prose {
font-size: 1.1rem;
line-height: 1.8;
color: #333;
}
/* 한글 콘텐츠 */
.greeting-content-wrapper .prose:first-of-type {
grid-column: 2;
grid-row: 1;
}
/* 영문 콘텐츠 */
.greeting-content-wrapper .prose:last-of-type {
grid-column: 2;
grid-row: 2;
}
/* 제목 스타일 */
.prose h3 {
font-size: 1.6rem;
font-weight: 700;
color: #0056b3;
margin-top: 20px;
margin-bottom: 15px;
padding-bottom: 10px;
border-bottom: 2px solid #f0f0f0;
}
.prose h3:first-child {
margin-top: 0;
}
.prose h3 .fas {
margin-right: 10px;
font-size: 1.4rem;
}
.prose p {
margin-bottom: 1.5em;
color: #555;
}
.prose strong {
color: #000000;
}
/* =====================================================
📱 모바일 대응 (기존 유지 + grid 대응 추가)
===================================================== */
@media (max-width: 768px) {
.greeting-content-wrapper {
grid-template-columns: 1fr; /* 세로 스택 */
}
.greeting-figure {
grid-row: auto;
max-width: 300px;
margin: 0 auto 30px;
}
.prose {
font-size: 1rem;
}
}
@media (max-width: 768px) {
.info-page-container {
padding: 20px;
}
.info-page-title {
font-size: 2rem;
}
}
/*
* 3단 레이아웃 스타일 (기존 코드 유지)
*/
.three-column-layout {
display: flex;
gap: 30px;
}
.layout-sidebar-left {
flex: 0 0 240px;
}
.layout-main-content {
flex: 1;
min-width: 0;
}
.layout-sidebar-right {
flex: 0 0 240px;
}
@media all and (max-width: 768px) {
.three-column-layout {
flex-direction: column;
}
.layout-sidebar-left,
.layout-main-content,
.layout-sidebar-right {
flex-basis: 100%;
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 KiB

@@ -0,0 +1,154 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 1. 현재 스킨 폴더명 정의 (config.php 로드 전에 설정)
// 2. 통합 설정 파일 로드
$config_path = G5_THEME_PATH . '/skin/page/config.php';
if (file_exists($config_path)) {
include_once($config_path);
} else {
$page_skin_config = array('left_ad' => false, 'right_ad' => false);
}
$current_page_skin = 'lasertech_new';
// 3. 스킨 경로 정의
$page_skin_url = G5_THEME_URL . '/skin/page/' . $current_page_skin;
$page_skin_path = G5_THEME_PATH . '/skin/page/' . $current_page_skin;
// 4. CSS/JS 로드
add_stylesheet('<link rel="stylesheet" href="' . $page_skin_url . '/css/style.css?ver=' . G5_SERVER_TIME . '">', 0);
add_javascript('<script src="' . $page_skin_url . '/js/script.js?ver=' . G5_SERVER_TIME . '"></script>', 0);
// 5. 기본 데이터 정의
$page_data = array(
'title' => '미래를 조각하는 정밀한 빛',
'subtitle' => '월간 레이저기술 | 국내 유일의 레이저산업 전문 종합 기술 플랫폼',
'content' => '
<h3><i class="fas fa-history"></i> 우리의 역사: 30년 혁신의 기록</h3>
<p>
1993년 9월 15일 창간 이래, <strong>월간 레이저기술</strong>은 30년 넘게 국내 유일의 레이저산업 전문지로서 대한민국 레이저 기술 발전의 역사를 함께 써왔습니다. <br> 글로벌 트렌드부터 최신 기술, 혁신적인 제품, 그리고 연구 개발 성과까지 깊이 있게 다루며 미래 산업의 로드맵을 제시해왔습니다.
</p>
<h3><i class="fas fa-bullseye"></i> 우리의 비전: 핵심 지식 허브</h3>
<p>
의료, 통신, 제조 등 다양한 분야에서 혁신을 이끄는 레이저 기술! <br> 특히 가공, 절단, 마킹, 용접 등 현장의 실용 기술 정보에 대한 갈증을 해소하기 위해, 월간 레이저기술은 <strong>정교한 정보와 심층 분석</strong>을 제공하여 국내 레이저 기술 생태계의 건강한 성장을 돕는 것을 목표로 합니다.
</p>
<h3><i class="fas fa-hands-helping"></i> 우리의 약속: 신뢰할 수 있는 길잡이</h3>
<p>
변화하는 기술 패러다임을 누구보다 빠르게 읽고, 레이저 기술이 열어갈 새로운 가능성을 가장 먼저 독자 여러분께 전달하겠습니다.<br> 저희의 정보가 여러분의 현장 고민을 해결하고, 미래 전략을 세우는 데 든든한 길잡이가 되기를 바랍니다. 여러분의 관심과 의견은 저희가 발전하는 가장 큰 원동력입니다.
</p>
<hr class="info-page-divider">
<h3><i class="fas fa-globe-americas"></i> Monthly Laser Technology: Our Story</h3>
<p>
Since our first issue on September 15, 1993, <strong>Monthly Laser Technology Magazine</strong> has been Korea\'s one-and-only specialized laser publication for over 30 years. We\'ve documented the nation\'s laser technology evolution, from global trends to R&D breakthroughs, serving as a <strong>key knowledge hub</strong> that maps out the future of the industry.
</p>
<p>
Laser tech is sparking innovation in medicine, telecom, and manufacturing. We know there\'s a huge thirst for practical, hands-on information. That\'s why we deliver the <strong>precise insights and in-depth analysis</strong> needed to help our domestic laser ecosystem thrive.
</p>
<p>
We\'re always the first to spot changing tech paradigms and share exciting new possibilities. We hope our insights become your trusted guide for solving real-world challenges and building future strategies. Your interest and feedback are what drive us forward. Let\'s illuminate the bright future of the laser industry, together!
</p>',
'image_url' => $page_skin_url . '/images/img.png',
'image_alt' => '레이저기술',
'sign_name' => '',
'sign_company' => ''
);
// 6. 모듈 설정 연동
if (!isset($module_config) && isset($md_id) && $md_id) {
$module_config = sql_fetch(" SELECT * FROM rb_module WHERE md_id = '{$md_id}' ");
}
if (isset($module_config) && $module_config['md_type'] == 'page') {
$target_bo_table = $module_config['md_bo_table_page'];
$target_wr_id = $module_config['md_wr_id_page'];
if ($target_bo_table && $target_wr_id) {
$write_table = $g5['write_prefix'] . $target_bo_table;
$view = sql_fetch(" SELECT * FROM {$write_table} WHERE wr_id = '{$target_wr_id}' ");
if ($view) {
$page_data['title'] = $view['wr_subject'];
$page_data['subtitle'] = $view['wr_1'];
$page_data['content'] = conv_content($view['wr_content'], 1);
$sql_file = " select bf_file, bf_source from {$g5['board_file_table']} where bo_table = '$target_bo_table' and wr_id = '$target_wr_id' order by bf_no limit 1 ";
$row_file = sql_fetch($sql_file);
if ($row_file['bf_file']) {
$page_data['image_url'] = G5_DATA_URL.'/file/'.$target_bo_table.'/'.$row_file['bf_file'];
$page_data['image_alt'] = $row_file['bf_source'];
} else {
$matches = get_editor_image($view['wr_content'], false);
if($matches) {
$img_src = $matches[1][0];
if (!preg_match("/^(http|https):/i", $img_src)) {
$page_data['image_url'] = G5_URL . $img_src;
} else {
$page_data['image_url'] = $img_src;
}
$page_data['image_alt'] = $view['wr_subject'];
} else {
$page_data['image_url'] = '';
}
}
$page_data['sign_name'] = $view['wr_2'];
$page_data['sign_company'] = $view['wr_3'];
}
}
}
?>
<div class="three-column-layout container">
<?php if (isset($page_skin_config['left_ad']) && $page_skin_config['left_ad'] === true): ?>
<aside class="layout-sidebar-left">
<div class="sidebar-inner">
<?php if($is_admin) { ?> <h3 class="sidebar-title">좌측 광고 영역</h3> <?php } ?>
<div class="flex_box flex_box_l" data-layout="<?php echo $current_page_skin; ?>-left"></div>
</div>
</aside>
<?php endif; ?>
<!-- 2. 중앙 메인 콘텐츠 -->
<main class="layout-main-content1">
<div class="info-page-container">
<!-- 페이지 헤더 -->
<header class="info-page-header">
<h2 class="info-page-title"><?php echo $page_data['title']; ?></h2>
<?php if($page_data['subtitle']): ?>
<p class="info-page-subtitle"><?php echo $page_data['subtitle']; ?></p>
<?php endif; ?>
</header>
<!-- 본문 콘텐츠 -->
<div class="greeting-content-wrapper">
<?php if($page_data['image_url']): ?>
<figure class="greeting-figure">
<img src="<?php echo $page_data['image_url']; ?>" alt="<?php echo $page_data['image_alt']; ?>" class="greeting-image">
</figure>
<?php endif; ?>
<article class="prose">
<?php echo $page_data['content']; ?>
<?php if($page_data['sign_name'] || $page_data['sign_company']): ?>
<div class="signature">
<?php if($page_data['sign_name']): ?><strong><?php echo $page_data['sign_name']; ?></strong><?php endif; ?>
<?php if($page_data['sign_company']): ?><span><?php echo $page_data['sign_company']; ?></span><?php endif; ?>
</div>
<?php endif; ?>
</article>
</div>
</div>
</main>
<?php if (isset($page_skin_config['right_ad']) && $page_skin_config['right_ad'] === true): ?>
<aside class="layout-sidebar-right">
<div class="sidebar-inner">
<?php if($is_admin) { ?> <h3 class="sidebar-title">우측 광고 영역</h3> <?php } ?>
<div class="flex_box flex_box_r" data-layout="<?php echo $current_page_skin; ?>-right"></div>
</div>
</aside>
<?php endif; ?>
</div>
@@ -0,0 +1,12 @@
// 이 페이지 전용 커스텀 자바스크립트
document.addEventListener('DOMContentLoaded', function() {
// 예: 특정 요소에 애니메이션 추가 등
// const title = document.querySelector('.section-title');
// if(title) {
// title.style.opacity = 0;
// setTimeout(() => {
// title.style.transition = 'opacity 0.5s';
// title.style.opacity = 1;
// }, 100);
// }
});