first commit 2
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
$g5['title'] = '금형저널';
|
||||
|
||||
// moldjournal 페이지 스킨 광고 영역 설정
|
||||
$moldjournal_skin_config = [
|
||||
'left_ad' => false, // 좌측 광고 사용 안함
|
||||
'right_ad' => false, // 우측 광고 사용 안함
|
||||
];
|
||||
?>
|
||||
@@ -0,0 +1,133 @@
|
||||
/*
|
||||
* lasertech 정보형 페이지 전용 스타일
|
||||
*/
|
||||
|
||||
.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.8rem;
|
||||
font-weight: 900;
|
||||
color: #222;
|
||||
line-height: 1.3;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.info-page-subtitle {
|
||||
font-size: 1.3rem;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
/* 대표 이미지 */
|
||||
|
||||
/* 💡 [최종 수정] 이미지 컨테이너의 크기를 절반으로 줄이고 중앙 정렬 */
|
||||
.info-page-figure {
|
||||
margin: 0 auto 40px auto; /* 상하 마진 유지, 좌우는 auto로 중앙 정렬 */
|
||||
max-width: 25%; /* 최대 너비를 25%로 제한 */
|
||||
text-align: center; /* 내부 이미지 정렬 */
|
||||
}
|
||||
|
||||
.info-page-image {
|
||||
max-width: 100%; /* 부모 요소의 너비를 넘지 않도록 */
|
||||
height: auto;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
/* 본문 스타일 */
|
||||
.prose {
|
||||
font-size: 1.1rem;
|
||||
line-height: 1.8;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.prose h3 {
|
||||
font-size: 1.6rem;
|
||||
font-weight: 700;
|
||||
color: #0056b3; /* 테마 메인 컬러 */
|
||||
margin-top: 30px;
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 2px solid #f0f0f0;
|
||||
}
|
||||
|
||||
.prose h3 .fas {
|
||||
margin-right: 10px;
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
.prose p {
|
||||
margin-bottom: 1.5em;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.prose strong {
|
||||
color: #0056b3;
|
||||
}
|
||||
|
||||
/* 구분선 */
|
||||
.info-page-divider {
|
||||
border: 0;
|
||||
height: 1px;
|
||||
background-color: #e9e9e9;
|
||||
margin: 50px 0;
|
||||
}
|
||||
|
||||
/* 반응형 스타일 */
|
||||
@media (max-width: 768px) {
|
||||
.info-page-container {
|
||||
padding: 20px;
|
||||
}
|
||||
.info-page-title {
|
||||
font-size: 2.2rem;
|
||||
}
|
||||
.info-page-subtitle {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
.prose {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 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: 1024px) {
|
||||
.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: 349 KiB |
@@ -0,0 +1,150 @@
|
||||
<?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 = 'moldjournal';
|
||||
// 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);
|
||||
|
||||
// 5. 기본 데이터 정의
|
||||
$page_data = array(
|
||||
'title' => '月刊 금형공구',
|
||||
'subtitle' => '금형 정보 활성화를 위한 국내 대표 금형 전문지',
|
||||
'content' => '
|
||||
<h3><i class="fas fa-history"></i> 한국 금형산업 발전의 역사</h3>
|
||||
<p>
|
||||
1984년 창간한 <strong>월간 금형공구</strong>는 금형·공구 산업의 국내외 동향, 신기술, 신제품, 기술개발 정보를 체계적으로 전하며 한국 금형산업 발전을 이끌어 온 전문지입니다. 산업 변화와 기술 패러다임 전환을 가장 가까운 자리에서 기록하며 주요 이슈를 신뢰도 높은 분석과 함께 소개해 왔습니다.
|
||||
</p>
|
||||
|
||||
<h3><i class="fas fa-industry"></i> 제조업의 기반, 핵심 산업</h3>
|
||||
<p>
|
||||
금형산업은 완구에서 우주항공까지 전 제조업의 기반을 이루는 기술집약적 핵심 산업으로, 제품 품질 향상과 공정 고도화를 좌우하는 국가 전략 분야입니다. 이에 따라 정교한 기술 정보와 최신 산업 동향 파악이 무엇보다 중요합니다.
|
||||
</p>
|
||||
|
||||
<h3><i class="fas fa-hands-helping"></i> 신뢰의 약속</h3>
|
||||
<p>
|
||||
(주)한국산업정보센터는 한국금형공업협동조합 설립 이후 조합원에게 전문 정보를 제공하고자 창간된 월간 금형·공구의 이념을 이어 발전시켜 왔습니다. 오늘날 월간 금형공구는 국내 금형 분야에서 가장 오랜 전통과 권위를 보유한 매체로 자리매김하고 있습니다. 앞으로도 산업 현장의 목소리를 담아 유용한 기술 정보와 통찰을 제공하며 금형산업의 미래를 함께 열어가겠습니다.
|
||||
</p>
|
||||
|
||||
<hr class="info-page-divider">
|
||||
|
||||
<h3><i class="fas fa-globe-americas"></i> Monthly Mold & Tooling: Our Story</h3>
|
||||
<p>
|
||||
First published in 1984, <strong>Monthly Mold & Tooling</strong> has delivered structured and reliable coverage of domestic and global trends, new technologies, product developments, and technical advancements within the mold and tooling industry.
|
||||
</p>
|
||||
<p>
|
||||
The mold industry is a technology-intensive foundation for nearly all manufacturing—from toys to aerospace—and a strategic national field that drives product quality and advanced production processes. Accurate and up-to-date technical information is therefore essential.
|
||||
</p>
|
||||
<p>
|
||||
Today, it stands as Korea’s oldest and most authoritative magazine in the mold sector. Moving forward, Monthly Mold & Tooling will continue delivering practical insights and industry-focused knowledge, serving as a reliable partner for the future of mold technology.
|
||||
</p>',
|
||||
'image_url' => $page_skin_url . '/images/' . rawurlencode('금형표지.jpg'),
|
||||
'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; ?>
|
||||
|
||||
<main class="layout-main-content">
|
||||
<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>
|
||||
|
||||
<?php if($page_data['image_url']): ?>
|
||||
<figure class="info-page-figure">
|
||||
<img src="<?php echo $page_data['image_url']; ?>" alt="<?php echo $page_data['image_alt']; ?>" class="info-page-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>
|
||||
</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);
|
||||
// }
|
||||
});
|
||||
Reference in New Issue
Block a user