6월 10일에 해보자 라고 맘을 먹었으니... 벌써 보름정도가 지나고 있네요.
이제 로그인 회원가입 정도 끝내고... 끝날려면 아직 한참 남았겠습니다.
(
저 말고도 테마를 만들고 싶은 분들이 많이 있으실텐데,
허접한 실력이지만 도움이 될까 하여 정리 글을 남겨봅니다.
)
라고 적고 싶지만, 큰 도움이 안될거란걸 알기에 ^^
저만의 메모장이라고 생각하고 남겨봅니다. ㅎㅎ
현재 그누사이트에서 "테마제작"으로 검색하면,
- https://sir.kr/faq/58 - 그누보드5 테마 - 구조, 상수, 파일용도
- https://sir.kr/faq/59 - 그누보드5 테마 - 테마제작
위 두개 글이 제일 좋은 것 같더라구요.
그누보드의 디렉토리 구조나, 전반적인 설명이 아주 잘 정리가 되어 있는 듯 합니다.
그러니 전...
걍 테마를 만들면서 어려웠던 점이나
추후 다른 테마를 만들때 참고가 되는 것들을 적어보겠습니다.
일단 테마 개발 순서부터 정해보겠습니다.
- 메인 페이지
- 전 아무 생각없이 메인부터 했지만, 해보고 나니 사이트의 전체적인 형태를 잡게 되더라구요.
- head.php, head.sub.php, tail.php, tail.sub.php에 어떤 코드까지 넣을지가 정해지게 되고,
- 여러 CSS나, JS의 위치를 정하는데 시간이 많이 걸렸던걸로 기억됩니다. (특히 add_stylesheet 함수때문에 시간을 엄청 소비했습니다.)
- 해외 템플릿이다보니 jquery가 없더군요... 뭐지 했습니다만, 걍 그누의 js도 같이 넣어버렸습니다. 별 문제는 없더군요.
- 회원가입 페이지
- 기본 설정으로 가면 가입시 작성항목이 몇개 안되지만, 실제는 엄청 많더라구요
- 꼭 관리자에서 모든 항목을 작성하도록 설정하신 뒤, 작업을 진행하세요.
- SNS계정을 연동할거라면, SNS들에 가입부터 키값까지 다 받아야 하는 번거로움이... 미리 해두시면 좋을 것 같아요. 걍 나중에 처리하시는것도 방법일 듯요.
- 로그인/아웃 페이지
- 전체 화면에 대한 틀을 다시 한 번 확인할 수 있습니다.
- 전체화면이기에 head.php와 head.sub.php 를 한 번 더 정리하게 됩니다.
- 회원정보 찾기 (이하는 이제 저도 해야 하는 작업이라서요 ^^ 계속 정리해보겠습니다.)
- 회원비밀번호 확인
- 메뉴 리스트 (템플릿과 상이하여 어케 맞출 지 고민되네요.)
- 정보수정 페이지
- 포인트 (위까지 고생했으니, 쉬어가는 타임으로 간단한 것들 진행)
- 쪽지
- 스크랩
- 게시판
- 일반 게시판 (자유게시판)
- 갤러리 게시판
- 새글 (전체검색과 새글 중 어떤 걸 먼저하는 것이 좋을까?)
- 전체 검색
- 새글
- 1:1 문의(Q&A)
- FAQ
- 접속자
- 투표(POLL)
- 위젯 (회원정보, 접속자집계, 투표)
- 회사소개/개인정보처리방침/서비스이용약관
- 메일 발송 폼
- 회원가입, 회원정보찾기, 게시글 등록 등...
- SNS 계정 연동
- 회원가입, 로그인/아웃
- 뭐가 더 있을 것 같은데....
- 최종 정리나 중간 중간에 채워넣을게요.
그 다음 테마 제작하면서 얻은 것들?
- add_stylesheet() 함수가 먹히지 않을 때
- </title>과 "<link rel="stylesheet" href="default.css"> 가 붙어 있지 않으면 정상 동작 하지 않는다.
- http://www.wetoz.kr/html/board.php?bo_table=tipntech&wr_id=158
- 우편번호 찾기 레이어 위치 잡아주기.
- 기본 그누보드 테마는 "주소검색"을 누르면 기본 주소 위에 팝업이 뜨게 되어 있더라구요.
- 원하는 위치에 띄우려면 아래 코드를 원하는 곳에 넣으시면 고정이 됩니다.
- 자동등록방지와 같은 기본 그누보드 템플릿에 맞춰진 함수들
- 이런것들은 테마 디렉토리에 있는 것들이 아니라서, 수정해버리면 다른 테마 적용시에 문제가 생기더라구요.
- 그래서 전 테마 내에서만 어떻게든 해보려고 했습니다.
- thmem.config.php를 아래와 같이 바꾸고
- 신규 테마에서 사용할 자동등록방지 함수를 새로 만들었습니다.(별도의 lib 파일을 만들어서요.) 그래서 위에 보시면 별도 상수를 만들었습니다.
- /theme/mt703/lib/mt703.lib.php
- 어쩔 수 없이 테마 디렉토리가 아닌 기본 파일을 건드려야 하는 경우
- 이때 다른 테마 또는 관리자에 영향을 주지 않기 위하여 IF문을 꼭 삽입하자.
- 예) 전체화면이 아닌 기본 화면을 전체화면으로 사용해야 하는 경우
- 로그인한 유저의 포인트, 스크랩수, 읽지 않은 쪽지 수를 가져오는 로직은 outlogin.lib.php의 outlogin함수에 있다.
- 새로 만드는 테마에서 저 함수를 호출하지 않는 이상, 출력할 수 없음.
- 전 호출하지 않고, 일부 코드만 가져와서 처리했어요.
- 무언가 계속 더 나오겠죠? 중간 중간 채워나갈게요~ 아니면 마지막에 최종 정리라던가...
자 이제 개발 순서도 정했고,
삽질했던 거 정리도 했으니...
다음 개발로 넘어가도록 하겠습니다. ^^
시간날때 서버 셋팅해서
댓글 달아주시는 고마우신 분들이 볼 수 있도록 해드려야 할텐데요~
(혹시 제가 못잡은 버그도 알려주실지도 모르고요 ^^)
'재밌는 IT 개발 > 그누보드 테마 제작기(記)' 카테고리의 다른 글
그누보드 테마 제작 11 - 메뉴 기능 개발 2 (0) | 2020.06.27 |
---|---|
그누보드 테마 제작 10 - 메뉴 기능 개발 1 (0) | 2020.06.27 |
그누보드 테마 제작 08 - 개인정보 영역 개발 (2) | 2020.06.21 |
그누보드 테마 제작 07 - 회원가입 페이지 개발 2 (0) | 2020.06.21 |
그누보드 테마 제작 06 - 회원가입 페이지 개발 1 (0) | 2020.06.21 |
댓글