#title JSBoard 최신글 리스트 출력

[[TableOfContents]]

== 최신 글 리스트 보기 구성 ==

JSBoard 의 최신글 목록을 출력하는 기능이다. 이 기능은 {{{include/prelist.php}}}에 의해 구동이 되며 어느 파일에나 삽입을 하여 사용을 할수가 있다.(단 php가 구동될수 있는 파일이어야 한다)

== 최신 글 리스트 보기 설정 ==

일단 먼저 {{{jsboard/include/prelist.php}}}에서 {{{$prlist['path']}}}와 {{{$prlist['wpath']}}} 변수값을 설정을 해야 한다. {{{$prlist['path']}}} 는 JSBoard 가 설치 되어 있는 절대 경로를 적어 주며, {{{$prlist['wpath']}}} 는 JSBoard 가 출력되는 웹경로를 적어줘야 한다. 주의 할것은 마지막에 / 는 적지 않도록 한다.

{{{#!php
$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 ||출력글자수 ||

만약 여러개의 게시판을 한 페이지에서 출력하고 싶다면 위의 코드의 값만 적당히 변경 시켜서 여러번 적어 주면 된다.

{{{#!php
test 게시판 3개 미리보기<br>
<? prelist("test",3,30); ?>

<p>
test1 게시판 5개 미리보기<br>
<? prelist("test1",5,30); ?>
}}}

일단, 위와 같이 출력을 하면 현재로서는 아무런 디자인없이 제목만 한 줄씩 출력하게 된다. 원하는 디자인을 구성하고 싶다면 prlist() 함수를 호출하기 전에 $prlistTemplate 라는 변수에 원하는 디자인을 정의하면 된다.

간단하게 예를 들어 보도록 하겠다.

{{{#!php
<table>
<?
$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 변수를 아래와 같이 지정해 주면 된다.

{{{#!php
$prlistOpt = "target=_blnak";
또는
$prlistOpt = "onClick(...)";
}}}

간혹, prlist 함수 호출시 <ul> 등의 list tag 로 감쌀 경우 include 되는 javascript 때문에 html validation 에러 에러가 발생할 수 있다. 이 경우에는

{{{#!php
$prlist['starttag'] = "<li style=\"list-style: none;\">\n";
$prlist['endtag']   = "</li>";
}}}

를 지정하여 처리를 할 수 있다.
