게시판 시스템에 일정관리 캘린더 스킨을 성공적으로 추가했습니다.

구현된 파일

1. Backend (PHP)

 

CalendarSkin.php

BaseSkin을 상속받는 캘린더 스킨 클래스

  • 월별 캘린더 그리드 렌더링
  • 일정 날짜별 그룹화 및 표시
  • 여러날 일정 연속 표시 지원
  • 색상 적용된 일정바 생성
 

SkinModel.php (수정)

  1.  
    add_calendar_skin_schema.sql 파일 내용 복사
  2. SQL 실행

옵션 2: PHP 파일로 실행

다음 내용으로 PHP 파일을 생성하여 실행:

<?php
require_once '../config.php';
 
try {
// SQL 파일 읽기
$sql = file_get_contents(__DIR__ . '/sql/add_calendar_skin_schema.sql');
 
// 여러 쿼리 실행
$pdo->exec($sql);
 
echo "캘린더 스킨 스키마가 성공적으로 추가되었습니다.";
} catch (Exception $e) {
echo "오류 발생: " . $e->getMessage();
}
?>

테스트 가이드

1. 데이터베이스 변경 확인

-- cms_skins 테이블 확인
DESCRIBE cms_skins;
 
-- cms_posts 테이블 확인
DESCRIBE cms_posts;
 
-- 캘린더 스킨 등록 확인
SELECT * FROM cms_skins WHERE skin_id = 'calendar';

2. 스킨 관리 페이지 확인

  1. https://qminmom.co.kr/admin/?page=skins 접속
  2. "캘린더형(기본)" 스킨이 목록에 표시되는지 확인
  3. "시스템" 배지가 있는지 확인

3. 게시판 생성 및 테스트

  1. 관리자 페이지 > 게시판 관리 > 새 게시판 생성
  2. 스킨으로 "캘린더형(기본)" 선택
  3. 게시판 저장

4. 일정 추가 테스트

  1. 생성한 캘린더 게시판으로 이동
  2. "일정 추가" 버튼 클릭
  3. 다음 항목 입력:
    • 제목: "테스트 일정"
    • 시작일: 오늘 날짜
    • 종료일: 3일 후
    • 배경색: 파란색 선택
    • 텍스트색: 흰색 선택
  4. 저장

5. 캘린더 뷰 확인

  •  월별 캘린더 그리드가 표시되는가?
  •  일정이 올바른 날짜에 표시되는가?
  •  여러날 일정이 연속으로 표시되는가?
  •  선택한 색상이 적용되어 있는가?
  •  이전/다음 월 네비게이션이 작동하는가?

6. 일정 수정/삭제 테스트

  1. 일정 클릭
  2. 상세보기 페이지로 이동 확인
  3. 수정 버튼 클릭
  4. 색상 변경 후 저장
  5. 캘린더에서 변경 사항 확인

주요 기능

✅ 월별 캘린더 뷰
✅ 시작일/종료일 설정으로 여러날 일정 지원
✅ 일정별 배경색/텍스트색 커스터마이징
✅ 색상 팔레트 UI
✅ 실시간 일정 미리보기
✅ 모바일 반응형 디자인
✅ 시스템 스킨으로 등록


다음 단계

  1. 데이터베이스 백업 수행
  2. SQL 스크립트 실행하여 스키마 적용
  3. 스킨 관리 페이지에서 캘린더형 스킨 확인
  4. 테스트 게시판 생성하여 기능 검증
  5. 필요시 스킨 옵션 조정

트러블슈팅

스킨이 목록에 표시되지 않는 경우

  • SQL 스크립트가 정상 실행되었는지 확인
  • cms_skins 테이블에 calendar 스킨이 등록되었는지 확인

일정이 저장되지 않는 경우

  • cms_posts 테이블에 event_* 컬럼이 추가되었는지 확인
  • 브라우저 콘솔에서 JavaScript 오류 확인

캘린더가 표시되지 않는 경우

  • board-calendar.css 파일이 올바른 위치에 있는지 확인
  • 브라우저 개발자 도구에서 CSS 로드 확인