페이지 템플릿 시스템의 사용 방법을 단계별로 설명합니다.

1. JSON 필드 추가하고 적용하는 방법
필드 설정 방법
템플릿 생성/수정 페이지의 "템플릿 설정" 탭에서 "필드 설정 (JSON)" 영역에 필드를 정의합니다.
필드 설정 예시:
필드 타입
| 타입 | 설명 | 사용 예시 |
|---|---|---|
text
|
한 줄 입력 | 제목, 이름, URL 등 |
textarea
|
여러 줄 입력 | 긴 내용, 설명 등 |
image
|
이미지 URL | 사진, 로고, 배너 등 |
필드 속성
| 속성 | 타입 | 설명 |
|---|---|---|
type
|
string | 필드 타입 (text/textarea/image) |
label
|
string | 사용자에게 표시될 라벨 |
required
|
boolean | 필수 입력 여부 (true/false) |
description
|
string | 필드 설명 (선택사항) |
자동 적용되는 방법
- 필드 설정을 저장하면 간편 편집기가 자동으로 생성됩니다
- 간편 편집기에서 입력한 내용은 자동으로 **기본 데이터 (JSON)**로 동기화됩니다
- 페이지 생성 시 해당 템플릿을 선택하면 정의된 필드들이 입력 폼으로 나타납니다
2. 내용에서 사용 가능한 HTML 태그
허용되는 태그
템플릿 내용에서 다음 HTML 태그들을 사용하여 스타일링할 수 있습니다:
텍스트 서식
-
<strong>,<b>- 굵은 글씨 -
<em>,<i>- 이탤릭체 -
<u>- 밑줄 -
<mark>- 하이라이트 -
<small>- 작은 글씨 -
<del>,<s>-취소선 -
<sup>- 위 첨자 -
<sub>- 아래 첨자
구조
-
<p>- 문단 -
<div>- 블록 영역 -
<span>- 인라인 영역 -
<br>- 줄바꿈 -
<hr>- 수평선
제목
-
<h1>,<h2>,<h3>,<h4>,<h5>,<h6>- 제목 태그
목록
-
<ul>,<ol>,<li>- 순서 없는/있는 목록 -
<dl>,<dt>,<dd>- 정의 목록
이미지 및 미디어
-
<img>- 이미지 -
<a>- 링크 -
<iframe>- 외부 콘텐츠 (YouTube 등)
표
-
<table>,<thead>,<tbody>,<tr>,<th>,<td>- 표
기타
-
<blockquote>- 인용문 -
<cite>- 출처 -
<code>,<pre>- 코드 블록
사용 예시
WARNING
<script>
태그나 위험한 JavaScript는 보안상 제한될 수 있습니다.
3. 외부 CSS로 스타일링하는 방법
현재 방식: 인라인 CSS (템플릿 내부)
현재 시스템은 각 템플릿 파일에
<style>
태그를 사용하여 CSS를 포함합니다:
권장 방식: 템플릿별 CSS 파일
템플릿마다 전용 CSS 파일을 만들어 관리하는 것이 더 좋습니다:
1. CSS 파일 구조 제안
2. 템플릿에서 CSS 로드하기
템플릿 PHP 파일에서 CSS 파일을 연결:
3. CSS 파일 예시 (
greeting_basic.css
)
전역 CSS vs 템플릿 CSS
| 구분 | 위치 | 용도 |
|---|---|---|
| 전역 CSS |
|
모든 페이지에 공통 적용되는 스타일 |
| 템플릿 CSS |
templates/page_templates/[템플릿명].css
|
특정 템플릿에만 적용되는 스타일 |
전역 CSS 예시
4. 이미지 타입 필드 사용 방법
이미지 필드 정의
템플릿에서 이미지 사용
이미지 업로드 기능 추가 (권장 개선사항)
현재는 URL을 직접 입력하는 방식이지만, 다음과 같이 개선할 수 있습니다:
개선된 이미지 입력 UI
이미지 업로드 JavaScript
실전 예시: 회사 소개 템플릿
1. 필드 설정
2. 템플릿 PHP 파일 (
company_intro.php
)
3. 템플릿 CSS 파일 (
company_intro.css
)
4. 사용자가 입력하는 내용 예시
요약
✅ 해야 할 것
- 필드 설정을 먼저 정의 - JSON 형식으로 필드와 타입 지정
- HTML 태그 활용 - 내용에 다양한 태그를 사용하여 스타일링
- 템플릿별 CSS 파일 분리 - 유지보수가 쉽고 깔끔한 코드
- 이미지 타입 필드 사용 - URL 입력 또는 파일 업로드 (개선 필요)
⚠️ 주의할 것
- JSON 형식이 정확해야 간편 편집기가 작동합니다
- 보안상 위험한
<script>태그는 사용하지 마세요 - 이미지는 절대 URL 또는 상대 경로를 정확히 입력하세요
- CSS 클래스명은 템플릿끼리 충돌하지 않도록 고유하게 지정하세요
🚀 개선 제안
- 이미지 업로드 기능 추가 - URL 입력 대신 파일 업로드 버튼
- WYSIWYG 에디터 통합 - textarea 필드에 TinyMCE 연동
- CSS 파일 자동 연결 - 템플릿 ID와 동일한 이름의 CSS 자동 로드
- 필드 타입 확장 - select, checkbox, date 등 추가
댓글 (0)
댓글 쓰기