BOARD

강좌·기초

그누보드5 최신글 스킨 목록형 가로 두 줄 레이아웃 구조 제작 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 15회 작성일 26-09-26 16:26

본문

그누보드5 최신글 스킨 목록형 가로 두 줄 레이아웃 구조 제작 방법

그누보드5에서 테이블 태그와 for문 조건식을 활용하여 최신글 목록을 가로 두 줄 레이아웃으로 제작하는 구체적인 코드와 방법을 안내합니다.

그누보드5 최신글 스킨 가로 두 줄 레이아웃 구조

그누보드5에서 최신글 스킨을 목록형 가로 두 줄 구조로 제작하려면 테이블(<table>) 태그와 PHP 반복문(for) 안에서 행 분기 조건($i%2 == 0)을 조합하는 구조를 사용해야 합니다.

1. 스킨 설정 파일 구성

최신글 스킨 폴더 내의 latest.skin.php 파일에 아래와 같은 구조를 적용합니다.

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 스타일시트 파일 연결
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
?>

<table width="680" border="0" cellspacing="0" cellpadding="0">
<tr>
 <td colspan="2" height="30">
 <a href="<?php echo G5_BBS_URL?>/board.php?bo_table=<?php echo $bo_table?>"><strong><?php echo $bo_subject;?></strong></a>
 </td>
</tr>
<tr>
<?php for ($i=0; $i<count($list); $i++) { 
 if ($i>0 && $i%2 == 0) echo "</tr><tr>"; 
?>
 <td width="50%" height="25">
 <?php 
 echo "<a href=\"".$list[$i]['href']."\">"; 
 if ($list[$i]['is_notice']) echo "<strong>".$list[$i]['subject']."</strong>"; 
 else echo $list[$i]['subject']; 
 if ($list[$i]['comment_cnt']) echo $list[$i]['comment_cnt']; 
 echo "</a>"; 
 if (isset($list[$i]['icon_new'])) echo " ". $list[$i]['icon_new']; 
?>
 </td>
<?php }?>

<?php if (count($list) == 0) { // 게시물이 없을 때?>
 <tr><td colspan="2" height="50">등록된 게시물이 없습니다.</td></tr>
<?php }?>
</tr>
</table>

2. 핵심 레이아웃 제어 원리

  • 테이블 구조 활용: 전체 레이아웃을 감싸는 <table> 태그 안에 최신글 항목들을 <td> 셀로 나열합니다.
  • 행 분기 조건($i%2 == 0): for 반복문 내부에서 첫 번째 항목이 아니고 인덱스 번호가 2로 나누어떨어질 때($i > 0 && $i % 2 == 0), 기존 행을 닫고 새로운 행을 여는 태그(</tr><tr>)를 출력하여 가로 두 줄(2열) 형태로 배치가 바뀌도록 제어합니다.

그누보드5 최신글 스킨 가로 두 줄 구조 제작 및 행 분기 조건식 작성 방법

그누보드5 환경에서 최신글 스킨(latest.skin.php)을 목록형 가로 두 줄 구조로 제작하려면 테이블 태그를 활용한 레이아웃 구성과 함께 for 반복문 내부에서 행 분기 조건식을 작성해야 합니다.

1. 테이블 레이아웃 구조 구성

스킨 파일 내에서 전체 목록을 감싸는 table 태그를 배치하고, 내부의 반복문 안에서 각 항목을 td 태그로 출력합니다.

2. for 반복문 내 행 분기 조건식 작성

2개 항목마다 행을 바꾸기 위해 for 반복문 안쪽에 다음 조건식을 추가합니다.

if ($i > 0 && $i % 2 == 0) echo "</tr><tr>";
  • 조건 설명: 반복 회차를 나타내는 변수 $i가 0보다 크고($i > 0), $i를 2로 나눈 나머지가 0일 때($i % 2 == 0) 기존 </tr>로 행을 닫고 새로운 <tr>을 열어 줄 바꿈을 제어합니다.

그누보드5 최신글 스킨 세 줄 및 다단 나열 수정 방법

그누보드5 최신글 스킨에서 가로 두 줄 구조를 세 줄이나 다른 개수로 변경하려면, 반복문(for) 내에서 행을 바꿀 때 기준이 되는 숫자 조건과 최신글 추출 함수의 인자 값을 함께 수정해야 합니다.

1. 관련 코드 수정 위치 및 방법

  • 기존 가로 두 줄 예제에서는 2개 항목마다 행을 바꾸기 위해 if ($i>0 && $i%2 == 0) echo "</tr><tr>"; 조건을 사용합니다.
  • 세 줄이나 다른 개수로 나열하려면 %2 부분을 원하는 열 개수(예: 3개씩 나열하려면 %3)로 변경합니다.
  • 예시 코드 수정:
    if ($i>0 && $i%3 == 0) echo "</tr><tr>";

2. 최신글 추출 함수 호출부 개수 수정

  • 스킨 파일 내부의 조건 수정과 함께, 최신글을 출력하는 latest 함수의 전체 추출 개수도 변경한 열 개수의 배수 또는 맞춤 개수로 수정해야 정상적으로 정렬됩니다.
  • 예를 들어 3개씩 나열하려면 가로 갯수를 나타내는 값을 3으로 수정하고 최신글 추출 부분에서 추출 개수를 6개 등으로 설정합니다.
    <?php echo latest("스킨명", "게시판아이디", 추출개수, 제목길이);?>

3. 다음 행동 및 주의사항

  • 코드를 수정한 뒤에는 최신글 스킨의 CSS(style.css) 파일에서 항목의 가로 너비나 스타일을 테이블 또는 목록 규격에 맞게 함께 조절해야 레이아웃이 깨지지 않습니다.

상황별 가이드

  • 내 상황: 그누보드5 최신글 스킨을 가로 두 줄 구조로 배치하여 출력하려는 운영자
  • 선택 기준: <table> 태그 기반 레이아웃과 PHP 반복문 내 행 분기 조건식($i%2 == 0) 조합 활용
  • 다음 행동: latest.skin.php 파일에 예제 코드를 적용하고, 스킨의 style.css에서 width 값을 조절하여 레이아웃 정렬 상태 확인

실전 FAQ

Q. 세 개씩 세 줄 이상으로 나열하려면 코드를 어떻게 수정해야 하나요?

  • 실행 및 예외: 가로 나열 개수를 변경하려면 for 반복문 안의 행 분기 조건인 $i%2 == 0을 원하는 열 개수에 맞춰 변경(예: 3개씩 나열하려면 $i%3 == 0)해야 합니다. 이와 함께 최신글 추출 함수(latest)의 전체 추출 개수와 CSS 스타일의 width 값을 함께 수정해야 레이아웃이 깨지지 않습니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.