first commit 2
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
.notice-module {
|
||||
padding: 30px; /* 모듈 전체 여백 */
|
||||
background-color: #fff;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 5px 20px rgba(0,0,0,0.05);
|
||||
}
|
||||
|
||||
.notice-module h2 {
|
||||
font-size: 1.8rem; /* 제목 크기 증가 */
|
||||
font-weight: 700;
|
||||
margin-bottom: 20px; /* 여백 증가 */
|
||||
color: #222;
|
||||
border-bottom: 2px solid #0056b3; /* 하단 테두리 */
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.notice-module ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.notice-module li {
|
||||
margin-bottom: 10px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px dashed #eee;
|
||||
}
|
||||
|
||||
.notice-module li:last-child {
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 0;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.notice-module li a {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-decoration: none;
|
||||
color: #555;
|
||||
transition: color 0.2s ease;
|
||||
}
|
||||
|
||||
.notice-module li a:hover {
|
||||
color: #0056b3;
|
||||
}
|
||||
|
||||
.notice-module li a strong {
|
||||
flex-grow: 1;
|
||||
font-size: 1rem;
|
||||
font-weight: 500;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.notice-module li a .datetime {
|
||||
flex-shrink: 0;
|
||||
font-size: 0.85rem;
|
||||
color: #888;
|
||||
margin-left: 10px;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
// notice_section 모듈을 위한 JavaScript
|
||||
window.initNoticeModule = function(moduleId) {
|
||||
// 이 모듈은 현재 특별한 JavaScript 로직이 필요 없습니다.
|
||||
// console.log(`Notice Module (ID: ${moduleId}) initialized.`);
|
||||
};
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
/**
|
||||
* rb.custom :: notice_section/module.php
|
||||
* 공지사항 모듈
|
||||
*/
|
||||
|
||||
// Assume $md_id is provided by the Rebuilder system. If not, generate a fallback.
|
||||
if (!isset($md_id)) {
|
||||
$md_id = uniqid('ns_'); // Fallback unique ID
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="notice-module" id="ns-<?php echo $md_id; ?>">
|
||||
<!-- <h2>공지사항</h2>-->
|
||||
<?php
|
||||
// 'basic' 최신글 스킨을 사용하여 'notice' 게시판의 최신글 5개를 가져옵니다.
|
||||
echo latest('theme/basic', 'notice', 5, 40);
|
||||
?>
|
||||
</div>
|
||||
|
||||
<link rel="stylesheet" href="<?php echo G5_THEME_URL; ?>/rb.custom/notice_section/module.css?ver=<?php echo G5_CSS_VER; ?>">
|
||||
<script>
|
||||
(function() {
|
||||
const currentModuleId = 'ns-<?php echo $md_id; ?>';
|
||||
const initFunctionName = 'initNoticeModule';
|
||||
const scriptId = 'notice-module-script-' + currentModuleId;
|
||||
|
||||
if (document.getElementById(scriptId)) {
|
||||
if (typeof window[initFunctionName] === 'function') {
|
||||
window[initFunctionName](currentModuleId);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
const script = document.createElement('script');
|
||||
script.id = scriptId;
|
||||
script.src = '<?php echo G5_THEME_URL; ?>/rb.custom/notice_section/module.js?ver=<?php echo G5_JS_VER; ?>';
|
||||
script.async = true;
|
||||
|
||||
script.onload = () => {
|
||||
if (typeof window[initFunctionName] === 'function') {
|
||||
window[initFunctionName](currentModuleId);
|
||||
}
|
||||
return;
|
||||
};
|
||||
document.head.appendChild(script);
|
||||
})();
|
||||
</script>
|
||||
Reference in New Issue
Block a user