예약시스템 의뢰가 와서 작업해봤습니다.
작업기간은 2주 정도로 잡고 진행했습니다.
구동 영상은 인스타그램에 올려두었습니다. (요즘 구글 유튜브에 업로드하는 것보다 간편하네요.)
Instagram의 이온디님: “#그누보드 기반 #예약시스템 #게시판스킨 작업 거의 다 해갑니다.”
1. 그누보드로 예약 관련 스킨은 이미 나와있는 종류가 몇개 있었습니다.
1. 그누보드 글 리스트에서 바로 글 작성으로 넘어가기
구글에 냅다 검색부터 해봤습니다.
리스트에서 바로 글 작성은 어떻게 하는 걸까. 처음엔 어떻게 시작해야할지 하나도 모르고 이런 질문에서부터 작업을 시작했습니다.
그누보드 폼 게시판 만들기 + 메인 폼과 연동 — 칩코더의 끄적끄적 (tistory.com)
그누보드 - 가입인사 스킨 > 그누보드5 스킨 (sir.kr)
이 나와있는 스킨이 있더군요.
1. 글작성이 안되는 문제에 당면
- 올바른 방법으로 이용해주십시오
- 자동등록방지 숫자가 틀렷습니다.
그누보드 - 올바른 방법으로 이용해 주십시오. 에러 해결책 > 그누보드5 팁자료실 (sir.kr)
그누보드 QA - 글등록이 않됩니다. "자동등록방지 숫자가 틀렸습니다" 띄네요 (sir.kr)
[G5] 게시판 자동등록방지(CSRT) 사용하지 않기 > 기술자료 | 해피정닷컴 (happyjung.com)
그누보드 자동등록방지 기능 없애기 [댓글 스팸방지기능] 해제하기 - 블랙플래시게임 (tistory.com)
자동등록방지 캡차(CAPTCHA) 코드 삭제 - 그누보드 5.3 버전 이상 - 그누보드팁 (gnustudy.com)
자동등록방지(Chaptcha) 사용안하기 (tistory.com)
[G5] 올바른 방법으로 이용해 주십시오. > 기술자료 | 해피정닷컴 (happyjung.com)
결국엔 검색한 결과들이 다 안됐습니다 ㅠㅠ
다 코어의 일부인 /bbs/write_update.php 파일에서 해당 부분을 주석처리하라는 이야기가 대부분이었습니다.
코어를 건드리는 방법은 피하고 싶었습니다.
1. 초기 기본 list.skin.php에서 글 작성하기
list.skin.php에서ㄱㅡㄹ작성하기 를 테스트하다가, 도저히 캡챠 때문에 글등록이 안되어서
write.skin.php파일에서 글작성하는 방법을 찾아보기로 했습니다.
2. 기본 글 작성 소스코드
캡챠 기능 때문에 처음에 좀 애를 먹었습니다.
'올바른 방법으로 이용해 주십시오.'
'자동등록방지 숫자가 틀렸습니다.'
결국 캡챠는 구글 인비저블 캡챠로 변경했습니다.
1) 캡차 생성 번호
캡챠 생성 번호를 미리 알 수 있을까?
결국 미리 알 수 있는 방법은 못 찾았습니다.
1. 달력 플러그인은 이걸 사용했습니다.
참조글)
[Javascript] flatpickr를 이용해 간단한 달력만들기 (tistory.com)
flatpickr 오픈소스 설정. 달력/시간 입력 라이브러리. :: 프로그래밍 일지 (tistory.com)
Flatpickr을 사용하여 미니멀리스트 Datetime 입력 선택 만들기 / 웹 디자인 | 최고의 웹 개발 튜토리얼. (savtec.org)
그 밖에 직접 만드는 방법도 있습니다.
자바 스크립트를 이용한 달력 만들기 (velog.io)
3. 그누보드 회원이라도 Wr_name
-이름출력
-게시판 이름 실명
-게시판 기능 중 이름(실명) 사용
-게시판 목록/보기에서 닉네임 대신 이름(실명) 사용
-글등록시회원이름
-회원 글등록시 이름 입력
-회원이라도 글작성시 글쓴이란에 이름입력하기
- 게시판목록 작성자 출력 부분을 닉네임 대신에 이름으로 변경
그누보드 회원일 때 글작성자를 입력해도 기본 회원정보의 값이 입력됩니다.
그누보드에서 글작성시 회원이라도 직접 입력한 값이 wr_name에 등록되려면 어떻게 하면 될까요.
그냥 write_update.head.skin.php에서
$member['mb_id'] = false;
추가해줬네요@_@
이렇게 하시면 그누보드 회원이라도 글작성시 글쓴이란에 입력하기가 가능합니다.
관리자가 글쓰기할때 비밀번호 입력하기. : 네이버 블로그 (naver.com)
이 부분은 회원도 비회원으로 인식하게 해서 패스했습니다.
4. 무조건 비밀글 체크하기
<input type="hidden" id="secret" name="secret" value="secret">
게시판 설정에서도 무조건 비밀글 사용에 체크해주세요.
5. 게시판 설정에 있는 여분 필드 사용 예제
게시판 설정에 있는 여분 필드 사용 예제 - 게시판스킨강좌, 그누보드5강좌 (gnustudy.com)
이 글을 참조했습니다.
6. 내예약글확인은 어떻게?
ajax를 활용한 방법으로 입력값을 검색해서 가져오는 방법으로 했습니다.
PHP에서 AJAX 사용하는 방법 — baealex (blex.me)
ps. 처음 삽질을 많이 했었는데요, include를 한 게 있었는데 그게 없는 경로의 파일이라서 아예 ajax로 데이터 가져오기가 안되더군요.
그누보드 QA - ajax연동후 php화면에 결과값이 null로만 나오네요ㅠㅠ. 잘못된곳 부탁드려요~ (sir.kr)
저같은 경우도 위와 같이 ajax 연결 성공은 했는데, null 값이 찍히더군요. 이유가 include(./common.php) 경로가 맞지 않아서
그런 현상이 발견되더군요.
7. 비밀글일 경우 바로 확인하기
- 비밀글 바로 비밀번호 입력없이 보기
- 비회원 작성자가 비밀글 패스워드 없이 바로 보는 방법
- 비밀글 비밀번호 설정관련