2월 23, 2024

[그누보드] 메인화면 게시판 설정 코드 살펴보기 (index.php)

1. Introduction

이번 포스팅에서는 그누보드의 메인화면을 어떻게 바꾸는지 코드를 살펴볼 것이다.

특히 나의 경우 커뮤니티를 제작하는 것이 목표였기 때문에 여러 게시판 각각에서 최신글을 불러 메인화면에 어떻게 띄우는지에 대해서 알아보도록 하겠다.



 2. index.php 파일 경로 및 코드

theme 폴더 → 현재 내가 사용하고 있는 테마 선택 → index.php 

에 들어간다. 

 

index.php 파일에 들어가보면,

 // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
 // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
 echo latest('theme/basic', $row['bo_table'], 6, 24);

위와 같은 코드가 보인다. 

즉 우리는 echo latest 함수를 사용해서 최근 글을 가져올 것이다. 

echo latest 함수는 위의 설명에도 나와있듯이,

latest(스킨, 게시판아이디, 출력라인, 글자수) 이런 기본형을 가지고 사용한다.

위에서는 $row['bo table'] 이라는 식으로 사용되었지만 해당 자리에 '게시판 아이디'의 형식으로 단순히 사용해주면 된다.

예를 들어 게시판 ID가 qa였다면,

echo latest('theme/basic', 'qa', 6, 24); 라고 써주면 되는 것이다. 뒤에 있는 두개의 숫자는 몇 줄을 출력할지, 몇 개의 글자수를 max로 할지에 따라서 변경해주면 된다. 

 


3. 원하는 대로 코드 변경하기

위의 코드처럼 작성하면, 게시판이 긴 가로 한 줄로 나오게 된다. 하지만 우리는 보통 게시판이 가로 전체로 나오길 원치 않고, 한 줄에 게시판 2개를 출력해서 공간을 조금 더 효율적으로 사용하길 원한다. 그 경우에 

  <div style="float:left" class="lt_wr">
        <?php echo latest('theme/basic', 'in_b_free', 6, 24); ?>
      </div>
 <div style="float:left;margin-left:2%" class="lt_wr">
       <?php echo latest('theme/basic', 'in_b_info', 6, 24); ?>
        </div> 

위의 코드처럼 첫 번째 <div> 태그에는 margin을 설정하지 않고 두번째 <div> 태그에 왼쪽 여백 (margin-left)의 값을 설정해주면 한 줄에 게시판을 두 개씩 출력할 수 있다. 


 

보통 갤러리 같은 경우에는 한줄에 사진을 이어서 보여주어야 하기 때문에 한 줄 가로를 통째로 한 게시판이 사용하도록 하는 경우가 많다.

echo latest('theme/gallery_block', 'gallery', 6, 23);

그럴 때는 위의 코드처럼 단순히 적어주면 된다. 


실제로 index.php 의 초기 코드에 들어가보면 우리가 원치 않는 게시판들이 여러개 있을 수 있는데 그 부분은 주석 처리하고 원하는 게시판만 추가하여 사용하면 된다.

삭제를 해도 되지만 혹시 모를 일에 대비하여서 주석 처리를 권장한다! 


 4. 접속자 집계 기능


또한 index.php의 초기 코드의 마지막 부분을 살펴보면, 

   <?php echo visit('theme/basic'); // 접속자집계, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>

위와 같이 echo visit이라는 것을 볼 수 있는데 이는 접속자집계이다. 즉 



이런식으로 오늘 몇명이 방문했는지를 나타내 주는 것이다. 이것 또한 원하는 사람들은 그대로 남겨두고, 이 기능을 원치 않는 사람들은 이를 주석처리해서 사이트상에서 삭제해주면 된다. php 코드를 알지 못하더라도 실제로 index.php에 들어가서 코드를 살펴보면 해당 코드가 어떤 기능을 수행하는지 알 수 있을 것이다.