Usage / Sample Code 창
Usage / Sample Code 창은 뉴스레터 구독 기능을 공개 웹페이지에 연결하기 위한 샘플 코드와 사용 방법을 제공합니다.
이 기능은 뉴스레터 구독 폼을 페이지에 추가하거나, 보안 토큰을 적용하거나, 관리자 페이지로 바로 이동하는 링크를 만들 때 매우 중요합니다.
Modal 탭 구성
Usage / Sample Code 창은 세 개의 탭으로 구성됩니다.
| 탭 | 설명 |
|---|---|
| Usage | 공개 구독 페이지, 보안 토큰, 구독 해지, 관리자 목록 등 뉴스레터 기능의 전체 흐름을 설명합니다. |
| Public Page Code | 공개 뉴스레터 구독 폼을 만들거나 페이지에 삽입하기 위한 샘플 HTML 코드를 제공합니다. |
| Admin Link Code | 관리자 뉴스레터 구독자 목록으로 이동하기 위한 링크 코드 또는 예제 코드를 제공합니다. |
Usage 탭
Usage 탭은 뉴스레터 기능이 어떻게 동작하는지 요약해서 보여줍니다.
| 항목 | 목적 |
|---|---|
| Public Subscribe Page |
고객은 /ShowPage/Newsletter 페이지에서 뉴스레터를 구독할 수 있습니다.
|
| Security Token | 샘플 폼은 요청을 보내기 전에 Anti-forgery Token을 불러옵니다. 이 토큰은 위조 요청이나 비정상 요청을 방지하는 데 사용됩니다. |
| Unsubscribe |
구독 해지 폼은 /ShowPage/Newsletter/Unsubscribe 경로로 요청을 보냅니다.
|
| Admin List | 관리자는 구독 상태를 확인하고, 상세 정보를 열고, 구독자를 삭제하거나 관리할 수 있습니다. |
공개 구독 페이지
공개 뉴스레터 페이지는 방문자가 뉴스레터를 신청할 수 있는 페이지입니다.
/ShowPage/Newsletter
이 페이지는 독립적인 뉴스레터 신청 페이지가 필요할 때 사용할 수 있습니다. 홈페이지 푸터, 팝업, 랜딩 페이지, 문의 페이지 등에 연결할 수 있습니다.
링크 예시
<a href="/ShowPage/Newsletter" target="_blank">
Subscribe to Newsletter
</a>
Public Page Code 탭
Public Page Code 탭은 공개 뉴스레터 구독 폼 샘플 코드를 제공합니다. 이 코드는 페이지, 레이아웃 영역, 팝업, 사용자 정의 HTML 영역에 복사해서 사용할 수 있습니다.
샘플 폼에는 일반적으로 다음 요소들이 포함됩니다.
- 뉴스레터 CSS 파일 참조
- 구독 폼 form 태그
- 숨겨진 보안 토큰 필드
- 폼 시작 시간 hidden 필드
- 스팸 방지를 위한 Honeypot 필드
- 이름, 성, 회사명, 이메일, 국가 등의 입력 필드
- 보안 토큰을 불러오고 폼을 제출하는 JavaScript 로직
CSS 참조
샘플 코드에는 다음과 같은 뉴스레터 스타일시트가 포함될 수 있습니다.
<link href="/iboard/skin/common/admin2/css/newsletter/newsletter.css" rel="stylesheet" />
Form 구조
공개 뉴스레터 폼은 보통 다음과 같은 ID로 구성됩니다.
<form id="newsletterSubscribeForm" class="nl-form">
...
</form>
이 폼은 구독자 정보를 입력받고 뉴스레터 구독 처리 경로로 전송하는 데 사용됩니다.
Security Token
샘플 폼에는 숨겨진 Anti-forgery Token 필드가 포함되어 있습니다.
<input type="hidden"
id="NewsletterSubscribeToken"
name="__RequestVerificationToken"
value="" />
폼을 제출하기 전에 이 토큰을 먼저 불러와야 합니다. 이 값은 뉴스레터 폼이 정상적인 웹사이트 요청인지 검증하는 데 사용됩니다.
서버의 뉴스레터 처리 기능이 토큰 검증 없이 동작하도록 의도적으로 설정된 경우가 아니라면, Anti-forgery Token 필드를 제거하지 않는 것이 좋습니다.
Form Started Time
샘플 폼에는 폼이 시작된 시간을 저장하는 hidden 필드가 포함될 수 있습니다.
<input type="hidden"
id="NewsletterFormStartedAt"
name="FormStartedAt"
value="" />
이 값은 봇이 너무 빠르게 폼을 제출하는 것과 같은 의심스러운 요청을 감지하는 데 사용할 수 있습니다.
Honeypot 필드
샘플 코드에는 숨겨진 Honeypot 필드가 포함될 수 있습니다.
<input type="text"
name="NewsletterFaxNumber"
class="nl-honeypot"
tabindex="-1"
autocomplete="new-password"
aria-hidden="true" />
실제 사용자는 이 필드를 입력하지 않아야 합니다. 자동화된 스팸 봇은 이 필드를 잘못 입력할 수 있고, 시스템은 이를 이용해 비정상 제출을 감지할 수 있습니다.
Honeypot 필드는 일반 사용자에게 보이지 않도록 유지해야 하며, 스팸 방지를 위해 제거하지 않는 것이 좋습니다.
구독자 입력 필드
샘플 폼에는 일반적으로 아래와 같은 구독자 입력 필드가 포함됩니다.
| 필드 | 목적 |
|---|---|
| FirstName | 구독자의 이름입니다. |
| LastName | 구독자의 성입니다. |
| CompanyName | 구독자의 회사명입니다. |
| 구독자의 이메일 주소입니다. 일반적으로 필수 입력값입니다. | |
| Country | 구독자의 국가 정보입니다. |
구독 해지 폼
뉴스레터 구독 해지 요청은 아래 경로로 전송됩니다.
/ShowPage/Newsletter/Unsubscribe
구독자가 더 이상 뉴스레터를 받지 않도록 처리할 때 이 구독 해지 경로를 사용합니다.
구독 해지 요청은 반드시 존중해야 합니다. 명확한 동의 없이 구독 해지 사용자를 다시 활성화하지 않는 것이 좋습니다.
Admin Link Code 탭
Admin Link Code 탭은 관리자 화면, 대시보드, 바로가기, 내부 페이지에서 뉴스레터 구독자 목록으로 이동하기 위한 샘플 링크 코드를 제공합니다.
뉴스레터 구독자 목록으로 바로 이동하는 버튼이나 링크를 만들 때 사용할 수 있습니다.
관리자 링크 예시
<a href="/Admin/Newsletter" target="_blank">
Open Newsletter Subscribers
</a>
Copy Code 버튼
Copy Code 버튼은 현재 표시된 샘플 코드를 복사합니다. 이 버튼을 사용하면 코드를 다른 페이지나 레이아웃 영역에 쉽게 붙여넣을 수 있습니다.
- Usage / Sample Code 버튼을 클릭합니다.
- 필요한 탭을 선택합니다.
- 표시된 샘플 코드를 확인합니다.
- Copy Code 버튼을 클릭합니다.
- 대상 페이지, 템플릿, 팝업 또는 레이아웃 영역에 코드를 붙여넣습니다.
- 저장 후 공개 뉴스레터 폼을 테스트합니다.
권장 연동 순서
- Admin > CRM > Newsletter 메뉴로 이동합니다.
- Usage / Sample Code 버튼을 클릭합니다.
- Usage 탭에서 뉴스레터 기능 흐름을 확인합니다.
- Public Page Code 탭을 엽니다.
- Copy Code 버튼을 클릭합니다.
- 대상 페이지 또는 레이아웃 영역에 샘플 코드를 붙여넣습니다.
- 페이지를 저장합니다.
- 공개 페이지에서 구독 테스트를 진행합니다.
- 관리자 Newsletter 화면으로 돌아와 구독자가 생성되었는지 확인합니다.
구현 시 주의사항
- 서버 처리 기능이 별도로 설정된 경우가 아니라면 Anti-forgery Token을 제거하지 마세요.
- 스팸 제출을 줄이기 위해 Honeypot 필드를 유지하는 것이 좋습니다.
- 필수 입력 필드가 서버의 뉴스레터 모델과 맞는지 확인하세요.
- 샘플 코드를 페이지에 붙여넣은 뒤 반드시 테스트하세요.
- 뉴스레터 CSS 경로가 현재 설치 환경에서 올바른지 확인하세요.
- 구독 해지 링크나 구독 해지 폼을 만들 때는 Unsubscribe 경로를 사용하세요.