Skip to content

Development Latest listing

JoungKyun Kim edited this page Jun 7, 2016 · 1 revision

JSBoard 최신글 리스트 출력

##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>";

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

Clone this wiki locally