[테마제작기(9記)] 중간 정리 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

[테마제작기(9記)] 중간 정리 정보

기타 [테마제작기(9記)] 중간 정리

본문

원문(출처) : 그누보드 테마 제작 09 - 중간 정리

6월 10일에 해보자 라고 맘을 먹었으니... 벌써 보름정도가 지나고 있네요.
이제 로그인 회원가입 정도 끝내고...  끝날려면 아직 한참 남았겠습니다.

(
   저 말고도 테마를 만들고 싶은 분들이 많이 있으실텐데,
   허접한 실력이지만 도움이 될까 하여 정리 글을 남겨봅니다.
)
라고 적고 싶지만, 큰 도움이 안될거란걸 알기에 ^^
저만의 메모장이라고 생각하고 남겨봅니다. ㅎㅎ

현재 그누사이트에서 "테마제작"으로 검색하면,
 - https://sir.kr/faq/58     - 그누보드5 테마 - 구조, 상수, 파일용도
 - https://sir.kr/faq/59     - 그누보드5 테마 - 테마제작

위 두개 글이 제일 좋은 것 같더라구요.
그누보드의 디렉토리 구조나, 전반적인 설명이 아주 잘 정리가 되어 있는 듯 합니다.
그러니 전...
걍 테마를 만들면서 어려웠던 점이나
추후 다른 테마를 만들때 참고가 되는 것들을 적어보겠습니다.

일단 테마 개발 순서부터 정해보겠습니다.

  1. 메인 페이지
    • 전 아무 생각없이 메인부터 했지만, 해보고 나니 사이트의 전체적인 형태를 잡게 되더라구요.
    • head.php, head.sub.php, tail.php, tail.sub.php에 어떤 코드까지 넣을지가 정해지게 되고,
    • 여러 CSS나, JS의 위치를 정하는데 시간이 많이 걸렸던걸로 기억됩니다. (특히 add_stylesheet 함수때문에 시간을 엄청 소비했습니다.)
    • 해외 템플릿이다보니 jquery가 없더군요... 뭐지 했습니다만, 걍 그누의 js도 같이 넣어버렸습니다. 별 문제는 없더군요.
  2. 회원가입 페이지
    • 기본 설정으로 가면 가입시 작성항목이 몇개 안되지만, 실제는 엄청 많더라구요
    • 꼭 관리자에서 모든 항목을 작성하도록 설정하신 뒤, 작업을 진행하세요.
    • SNS계정을 연동할거라면, SNS들에 가입부터 키값까지 다 받아야 하는 번거로움이... 미리 해두시면 좋을 것 같아요. 걍 나중에 처리하시는것도 방법일 듯요.
  3. 로그인/아웃 페이지
    • 전체 화면에 대한 틀을 다시 한 번 확인할 수 있습니다.
    • 전체화면이기에 head.php와 head.sub.php 를 한 번 더 정리하게 됩니다.
  4. 회원정보 찾기 (이하는 이제 저도 해야 하는 작업이라서요 ^^ 계속 정리해보겠습니다.)
  5. 회원비밀번호 확인
  6. 메뉴 리스트 (템플릿과 상이하여 어케 맞출 지 고민되네요.)
  7. 정보수정 페이지
  8. 포인트 (위까지 고생했으니, 쉬어가는 타임으로 간단한 것들 진행)
  9. 쪽지
  10. 스크랩
  11. 게시판
    • 일반 게시판 (자유게시판)
    • 갤러리 게시판
  12. 새글 (전체검색과 새글 중 어떤 걸 먼저하는 것이 좋을까?)
  13. 전체 검색
  14. 투표(Poll)
  15. 1:1 문의
  16. FAQ
  17. 접속자
  18. 메일 발송 폼
    • 회원가입, 회원정보찾기, 게시글 등록 등...
  19. SNS 계정 연동
    • 회원가입, 로그인/아웃
  20. 뭐가 더 있을 것 같은데....
    • 최종 정리나 중간 중간에 채워넣을게요.

 

  

 

그 다음 테마 제작하면서 얻은 것들?

  1. add_stylesheet() 함수가 먹히지 않을 때
  2. 우편번호 찾기 레이어 위치 잡아주기.
    • 기본 그누보드 테마는 "주소검색"을 누르면 기본 주소 위에 팝업이 뜨게 되어 있더라구요.
    • 원하는 위치에 띄우려면 아래 코드를 원하는 곳에 넣으시면 고정이 됩니다. 2949618301_1592627013.4355.png그누보드 우편번호 팝업 위치 고정 팁
  3. 자동등록방지와 같은 기본 그누보드 템플릿에 맞춰진 함수들
    • 이런것들은 테마 디렉토리에 있는 것들이 아니라서, 수정해버리면 다른 테마 적용시에 문제가 생기더라구요.
    • 그래서 전 테마 내에서만 어떻게든 해보려고 했습니다.
    • thmem.config.php를 아래와 같이 바꾸고 2949618301_1592627289.6937.png그누보드 테마 theme.config.php 수정 코드
    • 신규 테마에서 사용할 자동등록방지 함수를 새로 만들었습니다.(별도의 lib 파일을 만들어서요.) 그래서 위에 보시면 별도 상수를 만들었습니다.
    • /theme/mt703/lib/mt703.lib.php 2949618301_1592631380.1405.png그누보드 captcha html 생선 함수 변경
  4. 어쩔 수 없이 테마 디렉토리가 아닌 기본 파일을 건드려야 하는 경우
    • 이때 다른 테마 또는 관리자에 영향을 주지 않기 위하여 IF문을 꼭 삽입하자.
    • 예) 전체화면이 아닌 기본 화면을 전체화면으로 사용해야 하는 경우 2949618301_1592627742.2301.png그누보드 테마 별 전체화면 변경 적용 위한 수정
  5. 로그인한 유저의 포인트, 스크랩수, 읽지 않은 쪽지 수를 가져오는 로직은 outlogin.lib.php의 outlogin함수에 있다.
    • 새로 만드는 테마에서 저 함수를 호출하지 않는 이상, 출력할 수 없음.
    • 전 호출하지 않고, 일부 코드만 가져와서 처리했어요. 2949618301_1592639321.4893.png그누보드 outlogin.lib.php 함수 변경
  6. 무언가 계속 더 나오겠죠? 중간 중간 채워나갈게요~ 아니면 마지막에 최종 정리라던가...

 

자 이제 개발 순서도 정했고,
삽질했던 거 정리도 했으니...
다음 개발로 넘어가도록 하겠습니다. ^^

시간날때 서버 셋팅해서
댓글 달아주시는 고마우신 분들이 볼 수 있도록 해드려야 할텐데요~
(혹시 제가 못잡은 버그도 알려주실지도 모르고요 ^^)

추천
4

댓글 6개

짬짬이 업데이트 되는 걸 보는것도 즐겁네요.
아무래도 자게에 안보이니...
시리즈 완료 후 옮기셔도 안 늦은데, 좀 아쉽네요~~
그랬어야 하는데...
레벨도 올리고 싶다는 욕심이 갑자기 생겨서 ㅠㅠ
모든 화의 근원은 욕심이 맞나봐요~~
그래도 감사해요~~
안녕하세요
어떤 테마를 만드시는지는 모르겠지만 암튼 고생이 많습니다.
잘 만드시기를 기도할게요
또한 나중에 유지보수를 위해서도 생각을 하신다고 한다면
완전 관리자에서 모든 것을 다 할 수 있도록 하시던지 아니면 각각의 섹션들을 스킨화 시키는 것을 추천을 드립니다.
상단 메뉴 스킨 메인 배너 스킨 서브메뉴 스킨 하단 스킨 등등
이런 식으로 스킨화를 하고 거기에 맞게 스타일도 거기에 넣어 두어서 다른 테마들과도 호완이 되도록 처리 하시면 오히려 호완성면에서도 좋고 유지관리면에서도 좋을 것 같습니다.
물론 저 같은 경우에는 스킨형태로 만들어서 쓰고는 있습니다만 이게 제일 편한 것 같아서
이건 어디까지나 제 생각입니다.
다른 분들은 어떻게 생각을 하시는 모르겠지만요
그래서 기존에 그누보드 코어 라던지 기타 업데이트에 관련된 것들은 하나도 안건드리기 때문에 업데니트도 쭈우욱 할 수 있구요
그리고 하나 더 말씀을 드리면 요즘은 대부분 반응형 추세 입니다.
아직 그누보드는 모바일과 PC 버전을 아직도 나누어서 쓰고는 있지만 이젠 너무나도 다양한 디바이스들이 나오기에 반응형으로 가는것이 오히려 좋을 듯 싶긴 합니다.
물론 처음에 기획을 어떻게 하느냐에 달려 있긴 하지만요
그렇지만 잘 만들어 놓으면 아마도 나중에 두고두고 쓸수 있을 것으로 보입니다.

죄송합니다.
저도 초보기는 하지만 주제 넘게 몇자 적어 봅니다.
자세한 조언과 설명에 깊이 감사 드립니다.
전혀 주제 넘다고 생각치 않으며, 덕분에 많은 생각을 하게 되었습니다.
사실, 전 의식의 흐름대로 진행하는 중입니다.
깊이 고민하고 진행한 제작기가 아니라서 갑자기 조금 부끄러워지네요.
그누보드를 안지는 좀 되었지만,
SI 쪽 업무를 주로 하다보니,
이쪽은 투잡이나 알바 용으로 잠깐 쓰던게 전부라서요.

근데 쓰면 쓸수록 그누만의 매력이 있더라구요.
얼마전에는 루미집사님의 전자결재 스킨을 이용하여
사내 전자결재 시스템을 만들어서 6개월째 모두 잘 사용하고 있기도 하구요.

앞으로 하는 모든 일들을 가능하다면,
그누 기반으로 하고자 하는게 큰 계획이고,
지금은 테마를 한 번 만들어보면,
그동안 보지 못하던 부분들을 살펴보지 않을까 해서 시작한 프로젝트입니다.

많이 부족한 실력이고,
또 업무시간 외 남는 시간에 진행하다 보니 많이 더딥니다.

앞으로도 잘 부탁 드리고,
오늘처럼 제가 못짚고 있는 부분이 있다면,
언제든지 댓글로 조언 이나 채찍 부탁 드립니다.

감사해요~
전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT