간단 소스 편집기
허용:
css/
,
page/
· 확장자:
html/css/js
페이지 추가
새로고침
파일 목록
css
css/app.js
css/app.js
css/style.css
css/style.css
page
page/account
계정 수동 생성 ❓
page/account/account_create.html
무료 계정 ❓
page/account/free_account_list.html
무료 계정 > 상세 정보 (탭형) ❓
page/account/free_account_view_tab.html
유료 계정 ❓
page/account/paid_account_list.html
유료 계정 상세 정보 ❓
page/account/paid_account_view.html
유료 계정 > 상세 정보 (탭형) ❓
page/account/paid_account_view_tab.html
page/main
대시보드 ❓
page/main/main.html
page/ops
관리자 추가 ❓
page/ops/admin_form.html
관리자 리스트 ❓
page/ops/admin_list.html
관리자 수정 ❓
page/ops/admin_modify.html
API 로그 ❓
page/ops/api_log.html
메일발송 로그 ❓
page/ops/mail_log.html
SMS 발송 로그 ❓
page/ops/sms_log.html
page/payment
page/payment/customer_pay_log.html
page/payment/customer_pay_log.html
page/payment/customer_refund_list.html
page/payment/customer_refund_list.html
도메인 SSL 연장 로그 ❓
page/payment/domain_log.html
결제 리스트 ❓
page/payment/pay_log.html
포인트 사용 로그 ❓
page/payment/point_log.html
환불 등록 ❓
page/payment/refund_form.html
환불 리스트 ❓
page/payment/refund_list.html
세금/현금영수증 ❓
page/payment/tax_doc.html
page/payment/user_pay_log.html
page/payment/user_pay_log.html
page/payment/user_refund_log.html
page/payment/user_refund_log.html
page/product
상품 등록 ❓
page/product/product_form.html
상품 리스트 ❓
page/product/product_list.html
상품 상세 ❓
page/product/product_view.html
page/settle
계정 정산 리스트 ❓
page/settle/month_list.html
page/settle/settle_log.html
page/settle/settle_log.html
page/sidebar_menu.html
page/sidebar_menu.html
page/sidebar_menu.html
page/site
FAQ 등록 ❓
page/site/faq_form.html
FAQ ❓
page/site/faq_list.html
공지사항 등록 ❓
page/site/notice_form.html
공지사항 ❓
page/site/notice_list.html
공지사항 상세 ❓
page/site/notice_view.html
페이지 추가 ❓
page/site/page_form.html
페이지 관리 ❓
page/site/page_list.html
페이지 수정 ❓
page/site/page_modify.html
팝업창 수정 ❓
page/site/popup_form.html
팝업창 ❓
page/site/popup_list.html
page/site/popup_modify.html
page/site/popup_modify.html
1:1 문의 상세 ❓
page/site/qna_form.html
1:1 문의 ❓
page/site/qna_list.html
SEO 관리 ❓
page/site/seo.html
page/stats
page/stats/account.html
page/stats/account.html
page/stats/sales.html
page/stats/sales.html
page/stats/visit.html
page/stats/visit.html
편집
page/site/page_form.html
<!-- /page/site/page_form.html : 페이지 추가 --> <style> .kv-list{ display:flex; flex-direction:column; gap:.65rem; } .kv-row{ display:flex; align-items:flex-start; gap:12px; } .kv-label{ width:160px; font-weight:600; color:#374151; white-space:nowrap; padding-top:6px; } .kv-sep{ width:1px; background:rgba(0,0,0,.08); margin-top:4px; margin-bottom:4px; } .kv-value{ flex:1; min-width:0; padding-top:0; } .kv-value, .kv-value *{ text-align:left; } .inline-actions{ display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; } .radio-row{ display:flex; flex-wrap:wrap; gap:.75rem 1.2rem; padding-top:4px; } .radio-row .form-check{ margin:0; } .help-muted{ color:#6b7280; font-size:.85rem; } .dual-input{ display:flex; gap:10px; flex-wrap:wrap; max-width:980px; } .dual-input .form-control{ min-width:260px; flex:1; } .dual-stack{ display:flex; flex-direction:column; gap:10px; max-width:980px; } @media (max-width: 576px){ .kv-label{ width:120px; } } </style> <script> function pa(e, msg, go){ if(e) e.preventDefault(); alert(msg); if(go) location.href = go; return false; } </script> <div class="d-flex align-items-center justify-content-between mb-2"> <div> <h1 class="h4 mb-1">페이지 추가 <button type="button" class="btn btn-link btn-sm p-0 ms-2 align-baseline" onclick="openPageHelp(this)" data-title="페이지 추가">❓</button> </h1> <div class="text-muted">사이트 페이지를 추가합니다.</div> </div> </div> <div class="row g-3"> <div class="col-12"> <div class="card"> <div class="card-header"> <div class="fw-semibold">페이지 정보 입력</div> </div> <div class="card-body"> <div class="kv-list"> <!-- 페이지명 (KO/EN) --> <div class="kv-row"> <div class="kv-label">페이지명</div><div class="kv-sep"></div> <div class="kv-value"> <div class="dual-input"> <input type="text" class="form-control" placeholder="한글 페이지명 (예: 요금제)" maxlength="40"> <input type="text" class="form-control" placeholder="영문 페이지명 (예: Pricing)" maxlength="40"> </div> <div class="help-muted mt-1">* 리스트에 표시되는 이름입니다. (한글/영문)</div> </div> </div> <!-- 노출 여부 --> <div class="kv-row"> <div class="kv-label">노출 여부</div><div class="kv-sep"></div> <div class="kv-value"> <div class="radio-row"> <div class="form-check"> <input class="form-check-input" type="radio" name="is_visible" id="vis_y" checked> <label class="form-check-label" for="vis_y">노출</label> </div> <div class="form-check"> <input class="form-check-input" type="radio" name="is_visible" id="vis_n"> <label class="form-check-label" for="vis_n">비노출</label> </div> </div> <div class="help-muted mt-1">* 비노출은 페이지 리스트에서만 관리되는 상태로 가정합니다.</div> </div> </div> <!-- 페이지 링크명(영문) --> <div class="kv-row"> <div class="kv-label">페이지 링크명(영문)</div><div class="kv-sep"></div> <div class="kv-value"> <input type="text" class="form-control" placeholder="예: pricing-plan" maxlength="16" style="max-width:420px;" inputmode="latin"> <div class="help-muted mt-1"> * 필수. 소문자/숫자/하이픈(-)만, 공백 금지, 최대 16자, 중복 불가(가정). </div> </div> </div> <!-- 내용 (KO/EN) 위아래 --> <div class="kv-row"> <div class="kv-label">내용</div><div class="kv-sep"></div> <div class="kv-value"> <div class="dual-stack"> <textarea class="form-control" rows="8" placeholder="한글 내용" style="max-width:980px;"></textarea> <textarea class="form-control" rows="8" placeholder="영문 내용" style="max-width:980px;"></textarea> </div> <div class="help-muted mt-1">* 한글/영문 내용을 각각 입력합니다.</div> </div> </div> </div> <div class="border-top pt-3 mt-3 d-flex justify-content-center gap-2"> <a class="btn btn-outline-secondary" href="app.php?p=page/site/page_list.html">목록</a> <a class="btn btn-primary" href="#" onclick="return pa(event,'프로토타입: 페이지를 등록합니다. (실제 저장은 동작하지 않습니다)','app.php?p=page/site/page_list.html');">등록</a> </div> <div class="form-text mt-2">* “등록” 클릭 시 실제 서비스에서는 저장 후 목록으로 이동합니다.</div> </div> </div> </div> </div>
저장
페이지 추가
디렉토리
page (root)
page/account
page/main
page/marketing
page/ops
page/payment
page/product
page/settle
page/site
page/stats
* page/ 하위 1레벨 폴더만 선택
파일명
.html
* 영문 소문자/숫자/_/- 만, 최대 32자
비밀번호