본문 영역
통합게시판 넣기 상세보기
작성자: 관리자
추천: 0 조회: 12483
통합게시판 넣기
메인페이지 혹은 서브페이지의 좌,우측에 게시판의 최신글들을 출력하는 것을 많이 봅니다.
이것을 구현하기 위한 Perl 함수입니다.
전체코드
&set_lib("$SET{program}/programs/board_total/print_board_total_box.cgi"); # 통합게시판 박스 모듈 로딩
#-----------------------------#
# 통합게시판박스 출력
#-----------------------------#
&print_board_total_box(
{
#-- 반드시 필요한 값들 --#
db => "aaaaaa" , # 데이터베이스명[통합게시판]
page_code => "otherpage" , # 페이지 종류
code => "q_a" , # 페이지 코드
#---------------------#
#-- 옵션 값들 --#
get_columns => "no,title,date,img,contents,recommend,comment_add,down_num,count" , # 출력할 항목목록( , 로 구분 기본값 "title,date")
list_number => 10 , # 출력수(기본값:10)
title_cut => 30 , # 제 출력 글자수(기본값:30)
contents_cut => 200 , # 주제 출력 글자수(기본값:400)
sumnail_w => 150 , # 섬네일 이미지 넓이
sumnail_h => 150 , # 섬네일 이미지 높이
class => "" , # 전체(DIV) CLASS 명(기본값:board_total_box)
date_type => 1 , # date(날짜) 기본출력방법(기본값:1)
#-------------#
}
);
속성
변수명 | 필수 | 기본값 | 설명 |
---|---|---|---|
db | 필수 | 데이터베이스명[통합게시판] | |
page_code | 필수 | 페이지 종류 | |
code | 필수 | 페이지 코드 | |
get_columns | title,date | 출력할 항목목록( , 로 구분) | |
list_number | 10 | 출력수 | |
title_cut | 30 | 주제 출력 글자수 | |
contents_cut | 200 | 내용 출력 글자수 | |
sumnail_w | 150 | 섬네일 이미지 넓이 | sumnail_h | 150 | 섬네일 이미지 높이 |
class | board_total_box | 전체(DIV) CLASS 명 | |
date_type | 1 | date(날짜) 기본출력방법 1 => 01.01 2 => 2013.01.01 |
|
tag | table | 출력하는 태그 table => table 태그로 출력 ul => ul 태그로 출력 |
코드값이 db인 통합게시판에 접속하여
내용 중, 출력하고 싶은 항목(get_columns)을 가져와서 list_number개를 출력한다.
이때 제목은 길기 때문에 title_cut만큼 잘라서 출력하고,
내용도 길기 때문에 contents_cut만큼 잘라서 출력한다.
제목을 클릭했을 때 게시판으로 링크되어야 하기 때문에, 페이지 속성(page_code, code)의 두 변수가 필요하다.
만약 첨부파일 중 첫번째 첨부파일이 이미지일 경우, 넓이(sumnail_w) X 높이(sumnail_h)의 이미지를 출력(img)한다.
집중!!
여기서 출력하는 이미지는 섬네일 이미지로, 프로그램 내에서 자동으로 사이즈를 줄여 생성합니다. 이 섬네일 이미지를 초기화 시키기 위해서는 폴더(./m9_data/programs/board_total/게시판 코드/photo) 삭제하시면 됩니다.
처음, 넓이(sumnail_w) X 높이(sumnail_h) 값으로 100,100을 주었을 때, 100X100사이즈의 이미지가 생성되어집니다. 만약 이 값을 200,200으로 준다면 이전에 생성되었던 100X100 이미지는 그대로 출력(파일이 존재하기 때문)됩니다. 그래서 폴더(./m9_data/programs/board_total/게시판 코드/photo)를 한번 초기화 해줍니다.
여기서 출력하는 이미지는 섬네일 이미지로, 프로그램 내에서 자동으로 사이즈를 줄여 생성합니다. 이 섬네일 이미지를 초기화 시키기 위해서는 폴더(./m9_data/programs/board_total/게시판 코드/photo) 삭제하시면 됩니다.
처음, 넓이(sumnail_w) X 높이(sumnail_h) 값으로 100,100을 주었을 때, 100X100사이즈의 이미지가 생성되어집니다. 만약 이 값을 200,200으로 준다면 이전에 생성되었던 100X100 이미지는 그대로 출력(파일이 존재하기 때문)됩니다. 그래서 폴더(./m9_data/programs/board_total/게시판 코드/photo)를 한번 초기화 해줍니다.
get_columns 값
NO | 변수코드 | 변수명 | 설명 |
---|---|---|---|
1 | no | 글순서 | 1부터 시작하는 단순한 글의 순서 |
2 | title | 제목 | title_cut으로 출력 글수를 조절 |
3 | name | 작성자 | |
4 | date | 작성일 | date_type으로 날짜형태 조절 |
5 | contents | 본문 | contents_cut으로 출력 글수를 조절 |
6 | count | 조회수 | |
7 | recommend | 추천수 | |
8 | comment_add | 의견수 | |
9 | group_contents | 글분류 | 글분류를 사용할 경우 출력 |
10 | num | 글번호 | 실제 글번호(url의 num값) |
11 | img | 첨부이미지 | 넓이(sumnail_w) X 높이(sumnail_h)로 크기를 조절 글 작성시, 첨부파일 중 첫번째가 이미지일 경우, 출력됩니다. |
12 | file_list | 첨부파일 | 첨부파일 아이콘이 출력됩니다. |
출력형태
get_columns=>"no,title,date"일 경우, no, title, date 순으로 출력된다.
tag=>"table"일 경우
tag의 기본값은 table로써 table형태로 출력합니다. 자동으로 summary값과 caption값이 생성됩니다.
초보자에게 맞는 출력방법입니다. 어디에 출력해도 깨지지 않고 쉽게 표현할 수 있는 장점을 가지고 있습니다.
summary => 이 표는 3열로 구성된 XXX 표입니다
caption => XXX 목록
XXX는 통합게시판 생성시 만든 게시판 이름이 해당합니다.
caption => XXX 목록
XXX는 통합게시판 생성시 만든 게시판 이름이 해당합니다.
모든 항목의 기본 출력은 <td class="변수코드"><span><span class="blind">변수명:</span>값</span></td> 이고,
title과 같이 링크가 있는 항목은 <td class="변수코드"><a><span class="blind">변수명:</span>값</a></td>입니다.
왜 이렇게 복잡하게 리턴하느냐하면, 웹접근성과 관련해 <thead>부분이 없기 때문에, 조회수, 글번호, 댓글수 등은 숫자만 달랑 표현된다. 어떤것이 댓글수인지, 어떤것이 조회수인지 알 수 가 없다. <span class="blind">변수명:</span> 부분은 시각장애인에게 그 숫자가 무엇을 설명하는지를 나타내기 위해 삽입된 것이고, 이를 감싸고 있는 <span>..</span> 또는 <a>..</a>는 일반인들을 위해 삽입된 것이로 마우스를 올려보면 설명글 툴팁이 출력됩니다.
class="blind"는 눈에 보이지 않는 스타일속성으로, 몽9빌더 내에서 웹접근성 설명글로 사용되는 속성입니다.
복잡하게 생각하시지 말고, tag=>"table"로 했을 경우, 웹접근성에 부합하도록 알아서 리턴해준다고 생각하시면 됩니다.
<div class="board_total_box">
<table summary="...">
<caption><span class="blind">...</span></caption>
<tbody>
<tr>
<th scope="row" class="no"><span><span class="blind">글순서:</span>1</span></th>
<td class="title"><a>3번째 글 타이틀입니다.</a></td>
<td class="date"><span><span class="blind">작성일:</span>06.04</span></td>
</tr>
<tr>
<th scope="row" class="no"><span><span class="blind">글순서:</span>2</span></th>
<td class="title"><a>2번째 글 타이틀입니다.</a></td>
<td class="date"><span><span class="blind">작성일:</span>06.03</span></td>
</tr>
<tr>
<th scope="row" class="no"><span><span class="blind">글순서:</span>3</span></th>
<td class="title"><a>1번째 글 타이틀입니다.</a></td>
<td class="date"><span><span class="blind">작성일:</span>06.02</span></td>
</tr>
</tbody>
</table>
<span class="more"><a>더보기</a></span>
</div>
tag=>"ul"일 경우
tag=>"ul"일 경우, 스타일시트의 값으로 다양한 형태의 출력을 만들어 낼 수 있습니다.
<td> 태그 대신 <span> 태그를 사용합니다.
본문을 출력하기에는 table형식으로는 힘듭니다. 본문을 출력하기 위해서는 ul형태를 사용하십시오.
<div class="board_total_box">
<ul>
<li>
<span class="no"><span><span class="blind">글순서:</span>1</span></span>
<span class="title"><a>3번째 글 타이틀입니다.</a></span>
<span class="date"><span><span class="blind">작성일:</span>06.04</span></span>
</li>
<li>
<span class="no"><span><span class="blind">글순서:</span>2</span></span>
<span class="title"><a>2번째 글 타이틀입니다.</a></span>
<span class="date"><span><span class="blind">작성일:</span>06.03</span></span>
</li>
<li>
<span class="no"><span><span class="blind">글순서:</span>3</span></span>
<span class="title"><a>1번째 글 타이틀입니다.</a></span>
<span class="date"><span><span class="blind">작성일:</span>06.02</span></span>
</li>
</ul>
<span class="more"><a>더보기</a></span>
</div>
관련 글&정보
등록일:
마지막 수정일:
PERL
총글수: 1
글순서NO | *(첨부파일) | 제목 | 추천 | 조회 | 작성일 |
---|---|---|---|---|---|
1 | 없음 | 현재글:통합게시판 넣기 | 추천:0 | 조회:12483 |