-
Notifications
You must be signed in to change notification settings - Fork 0
Development Latest listing
##1. 최신 글 리스트 보기 구성
JSBoard 의 최신글 목록을 출력하는 기능이다. 이 기능은 include/prelist.php
에 의해 구동이 되며 어느 파일에나 삽입을 하여 사용을 할수가 있다.(단 php가 구동될수 있는 파일이어야 한다)
##2. 최신 글 리스트 보기 설정
일단 먼저 jsboard/include/prelist.php
에서 $prlist['path']
와 $prlist['wpath']
변수값을 설정을 해야 한다. $prlist['path']
는 JSBoard 가 설치 되어 있는 절대 경로를 적어 주며, $prlist['wpath']
는 JSBoard 가 출력되는 웹경로를 적어줘야 한다. 주의 할것은 마지막에 / 는 적지 않도록 한다.
$prlist['path'] = "/home/httpd/html/PHP/jsboard";
$prlist['wpath'] = "http://domain.com/PHP/jsboard";
일단 사용방법을 설명하자면 우선 최신글을 보여줄 page 의 <body> tag 바로 아래에 다음과 같은 코드를 삽입한다. (중요한 것은 이 기능을 적용시킬 file 은 php 가 구동이 될 수 있는 file 이어야 한다. 확장자가 .php3 에서만 php 를 인식할 수 있을 경우에는 .php3 file 에서만 이 기능을 사용할수 있다. 그리고 prelist.php 를 불러들이는 위치는 꼭 <body>
와 </body>
태그 사이어야 한다는 것이 아주 중요하다.)
<?php include "절대경로/prelist.php"; ?>
다음 리스트 출력을 원하는 부분에 다음과 같은 함수를 적어 주도록 한다.
<?php prelist("a","b","c"); ?>
prelist() 함수의 값들에 대해서는 아래를 참고하라.
- a : 테이블 이름(게시판 이름)
- b : 글 리스트 수
- c : 출력 글자 수
만약 여러개의 게시판을 한 페이지에서 출력하고 싶다면 위의 코드의 값만 적당히 변경 시켜서 여러번 적어 주면 된다.
test 게시판 3개 미리보기<br>
<?php prelist("test",3,30); ?>
<p>
test1 게시판 5개 미리보기<br>
<?php prelist("test1",5,30); ?>
일단, 위와 같이 출력을 하면 현재로서는 아무런 디자인없이 제목만 한 줄씩 출력하게 된다. 원하는 디자인을 구성하고 싶다면 prlist()
함수를 호출하기 전에 $prlistTemplate
라는 변수에 원하는 디자인을 정의하면 된다.
간단하게 예를 들어 보도록 하겠다.
<table>
<?php
$prlistTemplate = "<tr>\n".
"<td>P_SUBJECT_</td>\n".
"<td>P_LNAME_</td>\n".
"<td>P_DATE_</td>\n".
"<td>P_REFER_</td>\n".
"</tr>\n";
prelist(......)
?>
</table>
prlist 에서 출력을 할 수 있는 원형은 다음과 같다.
- P_SUBJECT_ : 제목을 치환
- P_NAME_ : 이름을 치환
- P_EMAIL_ : 이메일을 치환
- P_DATE_ : 글 등록시간을 치환
- P_REFER_ : 조회수를 치환
- P_LNAME_ : 이메일이 있을 경우 이메일 링크가 된 이름을 치환
만약 제목 링크에 target 이나 onClick 같은 것을 넣고 싶다면 $prlistTemplate
변수 앞에 $prlistOpt
변수를 아래와 같이 지정해 주면 된다.
$prlistOpt = "target=_blnak";
또는
$prlistOpt = "onClick(...)";
간혹, prlist 함수 호출시
- 등의 list tag 로 감쌀 경우 include 되는 javascript 때문에 html validation 에러 에러가 발생할 수 있다. 이 경우에는
$prlist['starttag'] = "<li style=\"list-style: none;\">\n";
$prlist['endtag'] = "</li>";
를 지정하여 처리를 할 수 있다.