어디에서나 바로가기 기능을 사용하실 수 있습니다. 주메뉴 이동은 알트 키 플러스 1 키이고, 부메뉴 이동은 알트 키 플러스 2 키이고, 본문 이동은 알트 키 플러스 3 키입니다. 알트 키 플러스 J 키는 일반모드와 텍스트모드로 전환합니다.

현재위치
  1. HOME
  2. >배우기
  3. > PERL

본문 영역

통합게시판 넣기 상세보기

작성자: 관리자 추천: 0  조회: 12278

통합게시판 넣기


메인페이지 혹은 서브페이지의 좌,우측에 게시판의 최신글들을 출력하는 것을 많이 봅니다.
이것을 구현하기 위한 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)를 한번 초기화 해줍니다.

get_columns 값


get_columns 값
NO 변수코드 변수명 설명
1 글순서 1부터 시작하는 단순한 글의 순서
2 제목 title_cut으로 출력 글수를 조절
3 작성자
4 작성일 date_type으로 날짜형태 조절
5 본문 contents_cut으로 출력 글수를 조절
6 조회수
7 추천수
8 의견수
9 글분류 글분류를 사용할 경우 출력
10 글번호 실제 글번호(url의 num값)
11 첨부이미지 넓이(sumnail_w) X 높이(sumnail_h)로 크기를 조절
글 작성시, 첨부파일 중 첫번째가 이미지일 경우, 출력됩니다.
12 첨부파일 첨부파일 아이콘이 출력됩니다.

출력형태


get_columns=>"no,title,date"일 경우, no, title, date 순으로 출력된다.

tag=>"table"일 경우


tag의 기본값은 table로써 table형태로 출력합니다. 자동으로 summary값과 caption값이 생성됩니다.
초보자에게 맞는 출력방법입니다. 어디에 출력해도 깨지지 않고 쉽게 표현할 수 있는 장점을 가지고 있습니다.

summary => 이 표는 3열로 구성된 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>

관련 글&정보

TOP

등록일:
마지막 수정일:
목록

PERL

총글수: 1
PERL 목록 : 이표는 글순서,첨부파일,제목,추천수,조회수,작성일을 확인할 수 있습니다
글순서NO *(첨부파일) 제목 추천 조회 작성일
1 없음 현재글:통합게시판 넣기 추천:0 조회:12278
초기화 
PERL 검색