주석을 유념해서 봐주세요..전체검색에 여분필드(wr_1~wr_10)
본문
주석을 유념해서 봐주세요...
전체검색 스킨 파일명 search.skin.php 을 사용하고 있습니다..
아래 코드에서 여분필드(wr_1~wr_10) 가 검색에 나오게 하려면 어디를 수정해야 할까요...?
-----------------------------------------------------------------------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<!--
<form name=fsearch method=get onsubmit="return fsearch_submit(this);" style="margin:0px;">
<table align=center width=95% cellpadding=2 cellspacing=0>
<input type="hidden" name="srows" value="<?=$srows?>">
<tr>
<td align=center>
<?=$group_select?>
<script type="text/javascript">document.getElementById("gr_id").value = "<?=$gr_id?>";</script>
<select name=sfl class=select>
<option value="wr_subject||wr_content">제목+내용</option>
<option value="wr_subject">제목</option>
<option value="wr_content">내용</option>
<option value="mb_id">회원아이디</option>
<option value="wr_name">이름</option>
</select>
<input type=text name=stx class=ed maxlength=20 required itemname="검색어" value='<?=$text_stx?>'>
<input type=submit value=" 검 색 ">
<script type="text/javascript">
document.fsearch.sfl.value = "<?=$sfl?>";
function fsearch_submit(f)
{
if (f.stx.value.length < 2) {
alert("검색어는 두글자 이상 입력하십시오.");
f.stx.select();
f.stx.focus();
return false;
}
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
var cnt = 0;
for (var i=0; i<f.stx.value.length; i++) {
if (f.stx.value.charAt(i) == ' ')
cnt++;
}
if (cnt > 1) {
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
f.stx.select();
f.stx.focus();
return false;
}
f.action = "";
return true;
}
</script>
</td>
</tr>
<tr>
<td align=center>
연산자
<input type="radio" name="sop" value="or" <?=($sop == "or") ? "checked" : "";?>>OR
<input type="radio" name="sop" value="and" <?=($sop == "and") ? "checked" : "";?>>AND
</td>
</tr>
</table>
</form>
<p>
-->
<?
if ($stx)
{
echo "<ul type=circle><li><h2><b>검색된 게시판 리스트</b></h2> <h3>(<b>{$board_count}</b>개의 게시판, <b>".number_format($total_count)."</b>개의 게시글, <b>".number_format($page)."/".number_format($total_page)."</b> 페이지)</h3></ul>";
if ($board_count)
{
echo "<ul><ul type=square style='line-height:130%;'>";
if ($onetable)
echo "<li><a href='?$search_query&gr_id=$gr_id'>전체게시판 검색</a>";
echo $str_board_list;
echo "</ul></ul>";
}
else
{
echo "<ul style='line-height:130%;'><li>검색된 자료가 하나도 없습니다.</ul>";
}
}
?>
<style>
.line {clear:both;margin:10px auto;border-top:1px solid #ddd;margin-bottom:20px;}
#search_alist h3 {font:bold 16px gulim;margin:0;padding:0}
#search_alist ul {list-style-type:none;margin:0;padding:0}
#search_alist li {clear:both;list-style-type:none;margin:0;padding:2px;}
#search_alist .s_subject a {font:normal 15px dotum;color:#1424c3;letter-spacing:-1px;text-decoration:underline;}
#search_alist .s_content {font:normal 12px dotum;color:#333;line-height:170%;}
#search_alist .s_content img.s_thm {border:1px solid #ccc;margin-right:8px;margin-bottom:8px;padding:0;}
#search_alist .s_name {font:normal 12px dotum;color:#009933}
#search_alist .s_date {font:normal 12px dotum;color:#aaa}
#search_alist .s_word1 {font:bold 15px dotum;color:#1424c3}
#search_alist .s_word2 {font:bold 12px dotum;color:#000}
</style>
<div id="search_alist">
<?
$k=0;
for($idx=$table_index, $k=0; $idx<count($search_table) && $k<$rows; $idx++) {
?>
<div class="line"></div>
<h3><a href='./board.php?bo_table=<?=$search_table[$idx]?>&<?=$search_query?>'><?=$bo_subject[$idx]?>(<?=count($list[$idx])?>)</a></h3>
<ul>
<?
$comment_href = "";
$data_path = $g4[path]."/data/file/".$search_table[$idx];
$thumb_data_path = $g4[path]."/data/file/$search_table[$idx]/thumb";
for($i=0; $i<count($list[$idx]) && $k<$rows; $i++, $k++){
//내용에서 html코드가 보이면 주석해제 후 사용***1
$list[$idx][$i][content]=cut_str(strip_tags($list[$idx][$i][wr_content]),300,"...");
$comment_href=$comment=$img=$file_name="";
$list[$idx][$i][subject]=str_replace("<span style='background-color:YELLOW; color:RED;'>","<span class='s_word1'>",$list[$idx][$i][subject]);
//$list[$idx][$i][content]=str_replace("<span style='background-color:YELLOW; color:RED;'>","<span class='s_word2'>",$list[$idx][$i][content]);
//내용에서 html코드가 보이면 주석해제 후 사용***2
$list[$idx][$i][content]=str_replace($stx,"<span class='s_word2'>".$stx."</span>",$list[$idx][$i][content]);
// 가변 파일
$file['file'] = get_file($search_table[$idx], $list[$idx][$i][wr_id]);
$file_name=$file[file][0][file];
$file_reading=$data_path."/".$file_name;
$simg=$thumb_data_path."/s".$file_name;
if($file_name && file_exists($file_reading) && preg_match("/\.jpg|\.gif|\.png|\.bmp|\.jpeg/",strtolower($file_name))){
if(file_exists($simg)) $img=$simg;
else $img=$file_reading;
}
if($list[$idx][$i][wr_is_comment]) {
$comment_href = "#c_".$list[$idx][$i][wr_id];
$comment="[코멘트] ";
}
?>
<li>
<p class="s_subject"><a href="<?=$list[$idx][$i][href].$comment_href?>"><?=$comment.$list[$idx][$i][subject]?></a> <a href="<?=$list[$idx][$i][href].$comment_href?>" target="_blank9eaecd">[새창]</a></p>
<p class="s_content">
<?if($img){?>
<a href="<?=$list[$idx][$i][href]?>"><img src="<?=$img?>" width="90" align="left" class="s_thm"></a>
<?}?>
<?=$list[$idx][$i][file]?><?=$list[$idx][$i][content]?></p>
<p><span class="s_date"><?=$list[$idx][$i][wr_datetime]?></span></p>
</li>
<?}?>
</ul>
<?}?>
</div>
<p style="text-align:center;"><?=$write_pages?></p>
----------------------------------------------------------------------------
답변 2
주석은 <!-- -->은 없애주시고요.
search.skin.php 통합 검색 스킨은 출력을 뿌려주는 것이 아니라 통합 검색 페이지를 바꾸는 스킨입니다
사용할때는 아래와 같이 search.php 페이지에서 사용하게 됩니다.
http://demo.sir.co.kr/gnuboard5/bbs/search.php
메인 페이지에 출력을 뿌려줄려면 메인페이지를 수정해서 아래와 같은 형태로 해주세요.
<fieldset id="hd_sch">
<legend>사이트 내 전체검색</legend>
<form name="fsearchbox" method="get" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);">
<input type="hidden" name="sfl" value="wr_subject||wr_content||wr_1||wr_2||wr_3||wr_4||wr_5||wr_6||wr_7||wr_8||wr_9||wr_10">
<input type="hidden" name="sop" value="and">
<label for="sch_stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" id="sch_stx" maxlength="20">
<input type="submit" id="sch_submit" value="검색">
</form>
<script>
function fsearchbox_submit(f)
{
if (f.stx.value.length < 2) {
alert("검색어는 두글자 이상 입력하십시오.");
f.stx.select();
f.stx.focus();
return false;
}
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
var cnt = 0;
for (var i=0; i<f.stx.value.length; i++) {
if (f.stx.value.charAt(i) == ' ')
cnt++;
}
if (cnt > 1) {
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
f.stx.select();
f.stx.focus();
return false;
}
return true;
}
</script>
</fieldset>
그누4 기준은 아래와 같습니다.
<!-- 검색 시작 -->
<table width="<?=$table_width?>" cellspacing="0" cellpadding="0">
<tr>
<td width="43" height="11"></td>
<td width="220"></td>
<td width=""></td>
<td width="234"><img src="<?=$g4['path']?>/img/search_top.gif" width="234" height="11"></td>
<td width="35"></td>
</tr>
<tr>
<td height="33"><img src="<?=$g4['path']?>/img/bar_01.gif" width="43" height="33"></td>
<td><img src="<?=$g4['path']?>/img/bar_02.gif" width="220" height="33"></td>
<td background="<?=$g4['path']?>/img/bar_03.gif" width="472" height="33"><table width=100% cellpadding=0 cellspacing=0><tr><td width=25> </td><td><?//=popular();?></td></tr></table></td>
<td>
<form name="fsearchbox" method="get" onsubmit="return fsearchbox_submit(this);" style="margin:0px;">
<!-- <input type="hidden" name="sfl" value="concat(wr_subject,wr_content)"> -->
<input type="hidden" name="sfl" value="wr_subject||wr_content||wr_1||wr_2||wr_3||wr_4||wr_5||wr_6||wr_7||wr_8||wr_9||wr_10">
<input type="hidden" name="sop" value="and">
<table width="100%" height="33" cellspacing="0" cellpadding="0">
<tr>
<td width="25" height="25"><img src="<?=$g4['path']?>/img/search_01.gif" width="25" height="25"></td>
<td width="136" valign="middle" bgcolor="#F4F4F4"><INPUT name="stx" type="text" style="BORDER : 0px solid; width: 125px; HEIGHT: 20px; BACKGROUND-COLOR: #F4F4F4" maxlength="20"></td>
<td width="12"><img src="<?=$g4['path']?>/img/search_02.gif" width="12" height="25"></td>
<td width="48"><input type="image" src="<?=$g4['path']?>/img/search_button.gif" width="48" height="25" border="0"></td>
<td width="13"><img src="<?=$g4['path']?>/img/search_03.gif" width="13" height="25"></td>
</tr>
<tr>
<td width="234" height="8" colspan="5"><img src="<?=$g4['path']?>/img/search_down.gif" width="234" height="8"></td>
</tr>
</table>
</form>
</td>
<td></td>
</tr>
</table>
<script type="text/javascript">
function fsearchbox_submit(f)
{
if (f.stx.value.length < 2) {
alert("검색어는 두글자 이상 입력하십시오.");
f.stx.select();
f.stx.focus();
return false;
}
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
var cnt = 0;
for (var i=0; i<f.stx.value.length; i++) {
if (f.stx.value.charAt(i) == ' ')
cnt++;
}
if (cnt > 1) {
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
f.stx.select();
f.stx.focus();
return false;
}
f.action = "<?=$g4['bbs_path']?>/search.php";
return true;
}
</script>
<!-- 검색 끝 -->