테스트 사이트 - 개발 중인 베타 버전입니다

검색 스킨(search.skin.php)에 내용관리 검색 붙이기

· 8년 전 · 6486 · 6
그누보드 검색 기능은 게시판과 게시물 검색에는 막강하지만, 내용관리(관리자>게시판관리>내용관리)에 입력된 콘텐츠에 대해서는 기능 제공을 안하고 있는데요.
찾아봐도 관련 기능을 찾을 수도 없고… 실력 있으신 분들은 제대로 된 개발을 하시겠지만, 저는 그냥 간단하게 사용할 정도의 기능만 필요해서 구현해봤습니다. 그누보드 코어는 건드리지 않았어요.

mysql쿼리에 대한 초보적인 지식으로 g5_content 테이블의 co_content, co_subject 필드를 검색어와 대조하는 정도로만 구현했습니다. 검색 페이지 중 1페이지 상단에만 출력되게 했어요. (쿼리문 개선이라던가 소스 수정에 대한 아이디어가 있으시면 알려주세요. 잘 배우겠습니다.)

사용중이신 검색 스킨이 그누보드 기본 스킨이라면 skin/search/basic/search.skin.php 의 64번째 줄 정도에 있는 <div id="sch_result"> 밑으로 아래의 소스를 추가하시면 됩니다.


<?php // 내용관리 검색 기능 시작
if (number_format($page) == 1) { // 첫번째 검색 페이지에서만 노출
echo '<section class="sch_res_list">';
$sql = "SELECT * FROM g5_content WHERE (co_content LIKE '%$stx%' OR co_subject LIKE '%$stx%')";
$re = sql_query($sql);
$i = 0;
while ($result = sql_fetch_array($re)) {
$co_href = G5_BBS_URL.'/content.php?co_id='.$result['co_id'];
print '<h2><a href="'.$co_href.'">'.$result['co_subject'].' </a>페이지내 결과</h2>';
print '<ul><li><a href="'.$co_href.'">'.$result['co_subject'].'</a><p>';
print cut_str(strip_tags($result['co_content']),200).'</p></li></ul>';
$i++;
}
if($i == 0){
echo '<div class="empty_list">페이지에서는 검색된 자료가 하나도 없습니다.</div>';
} else {
echo '페이지에서 '.$i.'개의 결과가 검색되었습니다.';
}

echo '</section>';
} // 내용관리 검색 기능 끝
?>

'내용관리'에 입력한 내용이 많거나 콘텐츠 갯수가 아주 많다면 무리가 있을 수도 있겠습니다만, 제 실력으론 이 정도가 한계네요.
첨부한 파일은 기본 스킨에서 위의 작업만 한 파일입니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

8년 전
감사합니다!
도움이 되셨기를
8년 전
감사합니다 !!
감사합니다!!
페이지 내용검색
감사합니다~ 적용해보겠습니당

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168