만들어 쓰던 팝업삽입 위젯 + 팝업관리 게시판 스킨입니다.
이것을 조합하면

요런 게시판으로

요렇게 글을 작성하여

요렇게 띄울 수 있습니다.
항상 이미지 하나 덜렁 띄울때만 써서 그밖에 본문에 글을 작성한다거나 하는 경우는.... 모릅니다 -_-;;;
제로XE 깔고 처음 만들었던 위젯이라서 대단히 허접하지만 필요하실 분이 계실 것 같아서 올려 봅니다.
그럼 설명 들어갑니다.
첨부 파일은 newest_popup.zip과 xe_board_popup.zip 두 개가 있습니다.
newest_popup이 위젯이고 xe_board_popup이 게시판 스킨입니다.
이 두개는 함께 쓰셔야 합니다. 쿠키 변수명을 공유하고 있어서
다른 게시판 스킨과 쓰면 다시 보지 않기 등의 버튼이 동작하지 않을 수 있습니다.
두 파일을 각각의 위치에 설치한 후 먼저 게시판을 만듭니다. 편의상 mid는 popup으로 합니다.
xe_board_popup 스킨을 사용하는데 만들면서 반드시 다음 순서대로 확장 변수를 지정해 주셔야 합니다.
또 값이 Y,N으로 되 있는 것은 반드시 대문자로 적어 주셔야 합니다.
항목이름이나 숫자로 된 기본값, 필수항목 여부 등은 적당히 바꾸셔도 상관없습니다.
(변수번호 : 항목 이름 : 형식 : 필수항목 : 기본값)
확장 1 / 활성화 / SELECT / Y / Y,N
확장 2 / 너비 / TEXT / Y / 500
확장 3 / 길이 / TEXT / Y / 500
확장 4 / X위치 / TEXT / N / 100
확장 5 / Y위치 / TEXT/ N / 100
확장 6 / 다시보지않음 옵션 보이기 / SELECT / Y / Y,N
이제 게시판을 만들어 들어가보면 위의 첫번째 그림과 같은 게시판이 나옵니다.
일단 테스트용 이미지를 하나 올리고 팝업창 너비와 길이를 거기에 맞추어 줍니다.
(뭐 좀 작아도 자동 리사이징이 됩니다 -_-;)
주의할 점은 그림 파일을 첨부만 하면 안되고 반드시 본문 삽입을 해 주셔야 한다는 점입니다.
다 만들었으면 이제 위젯 관리자 페이지로 갑니다.
팝업창 출력 위젯을 선택하고 스킨을 지정한 후 방금 만든 게시판을 지정해줍니다.
그리고 만들어진 코드를 팝업창을 띄울 페이지에 삽입합니다.
이제 페이지에 접속해보면... 세번째 그림처럼 팝업창이 뜰 것입니다.
문제해결
Q : 페이지에 위젯을 넣었는데 들어가 보면 팝업이 안 뜬다.
A : 일단 위젯에서 게시판을 제대로 정해 주었는지 확인합니다. 다음으로 게시물의 첫 번째 확장 변수(위에서 '활성화'라고 이름붙인)의 값을 Y로 정확하게 넣었는지 확인해봅니다. 끝으로 팝업차단 툴바등이 작동하는 것은 아닌지 확인해봅니다.
Q : 팝업이 뜨긴 하는데 팝업 이미지 뿐 아니라 게시판 디자인이 다 나온다.
A : 게시판에 팝업관리 스킨을 사용하고 있는지 확인해보세요. 다른 스킨은 지원하지 않습니다.
Q : 팝업관리 게시판에 레이아웃을 지정했더니 팝업창의 본문에도 레이아웃이 다 나온다.
이 문제를 해결하는 가장 간단한 방법은 레이아웃을 사용하지 않는 것이고,
굳이 레이아웃을 써야만 하시겠다면, 좀 지저분한 방법이지만 layout.html의 내용을 다음과 같이 감싸는 방법이 있습니다.
(참고로 여기 나온 mid는 팝업관리 게시판의 mid입니다.)
layout.html
- <!--@if($mid=='popup' && $popup == 'Y')-->
- {$content}
- <!--@else-->
- //원래 layout.html 내용
- <!--@end-->
<!--@if($mid=='popup' && $popup == 'Y')-->
{$content}
<!--@else-->
//원래 layout.html 내용
<!--@end-->얼마전에 이것을 좀더 깔끔하게 처리할 수 없는지에 대한 질문을 게시판에 올렸었는데, 아무도 답을 안 주시더라구요 ㅠㅠ
Q : 본문에 삽입된 그림을 클릭해도 게시판에서처럼 확대되지 않는다.
A : 작은 팝업창에서 확대되는 동작이 이상해 막아 두었습니다.
굳이 필요하다면 게시판 스킨의 js/view.js에서 9번째 행에 있는 주석 이후의
(xRemoveEventListener로 시작하는) 모든 내용을 지워버리시면 됩니다.
