[테마제작기(19記)] 게시판 그룹 페이지 개발 > 개발자팁

개발자팁

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

[테마제작기(19記)] 게시판 그룹 페이지 개발 정보

기타 [테마제작기(19記)] 게시판 그룹 페이지 개발

본문

원문(출처) : 그누보드 테마 제작 19 - 게시판 그룹 페이지 개발
               ==> 개발한 소스의 내용을 더 볼 수 있고, 가끔은 다른 이야기도 있어요~

 

드디어 게시판 작업에 진입하였네요.
짝짝짝~ (자축의 박수~)

 

게시판, 그 중에서도 오늘은 게시판 그룹 페이지를 만들어봅니다.
먼저 그누 기본 테마 화면을 살펴보고,
현재 제작중인 테마의 모습을 살펴볼게요.

 

2949618301_1593958387.4262.png

 

아주 심플하고 간결한 UI네요~
그리고 현재 작업 전이라 이상한 모습의 게시판 그룹 페이지!

2949618301_1593958443.8497.png

 

저 망가진 화면을 예쁜 화면으로 바꾸는게 오늘의 일인거죠~
웹에서 호출되는 페이지인 "/bbs/group.php" 분석부터 들어가봅니다.

2949618301_1593958465.3723.png

 

제작중인 테마 페이지의 group.php를 다시 살펴보러 갑니다.
페이지의 소스는 아주 심플합니다.
그냥 그룹에 속한 게시판을 모두 검색하여, 
latest 함수를 호출하여 화면에 출력하는 구조입니다.
메인 페이지 작업과 거의 유사한 구조에요. 즉 한 번 해본 일이라는거죠 ^^;

2949618301_1593958494.3793.png

 

저 위에 빨간 네모안의 latest 함수때문에 
예전에는 고생한 기억이 좀 있었습니다.
생각보다 하는 일이 많은 함수더라구요.
(오죽하면 latest.lib.php 파일 안에 latest() 함수가 하나만 있겠어요~
능력이 되니 독방 차지하고 있는거겠죠~)

 

latest() 함수가 하는 일 (순서대로)
1. SKIN 디렉토리 알아내기
2. 캐싱 사용 여부 확인하여 DB 쿼리 조회 여부 판단
3. 캐싱 존재 여부 확인하여 캐싱과 쿼리 중 판단
4. 그룹에 속한 게시판 조회
5. 각 게시판 별 출력할 리스트 조회
6. 리스트의 각 항목들을 출력하기 좋게 변경
7. 캐싱되지 않은 게시판이라면 캐싱 저장(캐싱 사용 설정일때)
8. 1에서 결정된 SKIN 디렉토리 호출

 

이렇게 많은 일을 하는 함수인데, 
걍 DB 조회해서 편집하는 넘이겠지라고 과소평가했던거죠~
이제는 알았으니, 전처럼 고생하지 않을겁니다. ^^

 

우선 latest() 함수가 판단한 Skin 경로가 제작중인 테마와 같은지 확인을 합니다.
이 확인 과정을 안하면, 엉뚱한 파일을 고치면서 
웹페이지에 반영이 안된다면서 우울해질 수 있습니다.

2949618301_1593958550.2102.png

 

알아냈으니, 해당 스킨 폴더로 이동하여 다시 살펴보겠습니다.
/theme/mt703/skin/latest/basic/latest.skin.php

2949618301_1593958568.7428.png

 

살펴보니, 지난 메인 작업때 이미 수정을 해놓은 파일입니다.
그렇다면, 테마의 group.php 파일의 상하단을 감싸는 태그가 문제겠네요.
index.php와 비교하면서 변경하면 바로 끝날 듯 합니다.

 

잉... 정말 끝났네요...

완료된 화면의 모습입니다.

2949618301_1593958621.6453.png

 

그냥 작업하면서 따라적다가보니 끝난 느낌이네요~
이제 본격적인 게시판 작업으로 진입하겠네요~
게시판 작업도 그룹 페이지처럼 술술 지나가면 좋겠다고 바래봅니다.

 

원문(출처) : 그누보드 테마 제작 19 - 게시판 그룹 페이지 개발
               ==> 개발한 소스의 내용을 더 볼 수 있고, 가끔은 다른 이야기도 있어요~

 

추천
3

댓글 5개

전체 5,352
개발자팁 내용 검색

회원로그인

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