분류탭 오류!!! 아 미춰 ㅜㅜ 도와주세요! > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

분류탭 오류!!! 아 미춰 ㅜㅜ 도와주세요! 정보

분류탭 오류!!! 아 미춰 ㅜㅜ 도와주세요!

본문

안녕하세요,

분류탭이 말썽 부려서 미치겠네여,,

다름아니라

한 게시판 분류를  그룹1 l 그룹2 l 그룹3  으로 나눴는데요,

list.skin.php 에서는 전체,그룹1,그룹2,그룹3 으로 나오잖아요?

여기서 그룹2를 누르면.. 그룹2에 속한 게시물은 잘 나오는데..

분류탭은 전체 << 그대로 입니다..

선택한 분류명으로 바뀌어져야 하는데 안바뀌네요.

어떻게 수정해야하는지요? ㅜ.ㅜ

------------------------------------------------

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가


$thumb_width = '120';  //썸네일 폭
$thumb_height = '120'; //썸네일 높이
$thumb_quality = '100'; //썸네일 퀄리티_100 이하

if (!function_exists("imagecopyresampled")) alert("GD 2.0.1 이상 버전이 설치되어 있어야 사용할 수 있는 갤러리 게시판 입니다.");

$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';


@mkdir($thumb_path, 0707);
@chmod($thumb_path, 0707);

$mod = $board[bo_gallery_cols];
$td_width = (int)(100 / $mod);


?>

<link rel="stylesheet" type="text/css" href="<?=$board_skin_path?>/css/skin.css" media="screen" />
<!-- Arquivos utilizados pelo jQuery lightBox plugin -->
<link rel="stylesheet" type="text/css" href="<?=$board_skin_path?>/css/jquery.lightbox-0.5.css" media="screen" />
<script type="text/javascript" src="<?=$board_skin_path?>/js/jquery.lightbox-0.5.js"></script>
<script type="text/javascript">
$(function() {
$('#gallery .gall a').lightBox();
});
</script>



<!-- 게시판 목록 시작 -->
<table width="<?=$width?>" align="center" cellpadding="0" cellspacing="0"><tr><td>

 <form name="fcategory" method="get">
 <div style="margin:5px;">
  <? if ($is_category) { ?>
 <select name=sca onchange="location='<?=$category_location?>'+<?=strtolower($g4[charset])=='utf-8' ? "encodeURIComponent(this.value)" : "this.value"?>;" style="width:124px;">
 <option value=''>전체 제품</option>
 <?=$category_option?>
 </select>
  <? } ?>
 </div>
 </form>


<div style="text-align:right; padding:5px 0;">
        <? if ($rss_href) { ?><span class="button"><a href='<?=$rss_href?>'>rss</a></span><?}?>
        <? if ($admin_href) { ?><span class="button"><a href="<?=$admin_href?>">관리자</a></span><?}?>
<? if ($write_href) { ?><span class="button"><a href="<?=$write_href?>">글쓰기</a></span><? } ?>
</div>

<? if ($is_checkbox) { ?>
<div>

    <span class="button"><a href="javascript:select_delete();">선택삭제</a></span>
    <span class="button"><a href="javascript:select_copy('copy');">선택복사</a></span>
    <span class="button"><a href="javascript:select_copy('move');">선택이동</a></span>

</div>
<? } ?>


<form name="fboardlist" method="post" style="margin:0px;">
<input type="hidden" name="bo_table" value="<?=$bo_table?>">
<input type="hidden" name="sfl"  value="<?=$sfl?>">
<input type="hidden" name="stx"  value="<?=$stx?>">
<input type="hidden" name="spt"  value="<?=$spt?>">
<input type="hidden" name="page" value="<?=$page?>">
<input type="hidden" name="sw"  value="">

<div id="gallery" style="padding:0; margin:0;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<?
for ($i=0; $i<count($list); $i++)
{

$list[$i][subject] = str_replace(" ","&nbsp;",$list[$i][subject]);

    if ($i && $i%$mod==0)
    echo "</tr><tr><td colspan='{$mod}' height=10></td></tr><tr>";
    $img = "<img src='$board_skin_path/img/noimage.gif' title='이미지 없음'>";
$image = $list[$i][file][1][file];
    //$thumb = $thumb_path.'/'.$list[$i][wr_id];
    $thumb = $thumb_path.'/'.$list[$i][file][0][file];
    if (!file_exists($thumb))
    {
        $file = $list[$i][file][0][path] .'/'. $list[$i][file][0][file];
        if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($file))
        {
            $size = @getimagesize($file);
            if ($size[2] == 1)
                $src = imagecreatefromgif($file);
            else if ($size[2] == 2)
                $src = imagecreatefromjpeg($file);
            else if ($size[2] == 3)
                $src = imagecreatefrompng($file);
            else
                continue;

            $rate = $thumb_width / $size[0];
            $height = (int)($size[1] * $rate);

            if ($height < $thumb_height)
                $dst = imagecreatetruecolor($thumb_width, $height);
            else
                $dst = imagecreatetruecolor($thumb_width, $thumb_height);
            /*imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $height, $size[0], $size[1]);
            imagejpeg($dst, $thumb_path.'/'.$list[$i][file][0][file], $thumb_quality);
            chmod($thumb_path.'/'.$list[$i][file][0][file], 0606);*/

imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $height, $size[0], $size[1]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][file][0][file], $thumb_quality);
chmod($thumb_path.'/'.$list[$i][file][0][file], 0606);
imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $thumb_quality);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
}




  if (file_exists($thumb) && $list[$i][file][0][file]) {
$img = "<a href='$g4[path]/data/file/$bo_table/$image'  title=\"".$list[$i][subject]."<br>".nl2br($list[$i][wr_content])."\"><img src='{$thumb}' width='{$thumb_width}' height='{$thumb_height}'></a>";
} else {
preg_match("`<\s*img\s+src\s*=\s*['|\"]?([^'|\"\s]+://[^'|\"\s]+\.(gif|jpe?g|png))['|\"]?\s*[^>]+`i", $list[$i]['wr_content'], $images);

if (!empty($images[1])) {
$img_size = GetImageSize("$images[1]");
if($img_size[0] >= $img_size[1]) {
$imgper = $thumb_width/$img_size[0];
$thumb_height = $img_size[1]*$imgper;
}else{
$imgper = $thumb_height/$img_size[1];
$thumb_width = $img_size[0]*$imgper;
}

$img = "<a href='{$list[$i][href]}'><img src='{$images[1]}' width='{$thumb_width}'></a>";
} else {
echo "";
}
}

    $style = "";
    if ($list[$i][icon_new])
        $style = "style='font-weight:bold;font-size:12px;color:#666;margin:0;padding:0;' ";
    $subject = "<a href='{$list[$i][href]}'><span $style>".cut_str($list[$i][subject],40)."</span></a>";

    $comment_cnt = "";
    if ($list[$i][comment_cnt])
        $comment_cnt = " <a href=\"{$list[$i][comment_href]}\"><span style='font-size:12px;'>{$list[$i][comment_cnt]}</span></a>";


    echo "<td width='{$td_width}%'>\n";
    echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n"; 
    echo "<tr valign='top' ><td align='center' valign='top'>
<div class='gall'>
$img
</div>
</td></tr>\n";
echo "<tr><td align='center' valign='top' height=30>$subject<span style='font-family:Tahoma;font-size:12px;'>{$list[$i][comment_cnt]}</span></td></tr>\n";
// echo "<tr><td align='center'>{$list[$i][datetime2]}";
if ($is_checkbox) echo "<tr><td align='center'><input type=checkbox name=chk_wr_id[] value='{$list[$i][wr_id]}'></td></tr>\n";

    echo "</td></tr>\n";
    echo "</table></td>\n";

}

// 나머지 td
$cnt = $i%$mod;
if ($cnt)
    for ($i=$cnt; $i<$mod; $i++)
        echo "<td width='{$td_width}%'>&nbsp;</td>";
?>
</tr>
<tr><td colspan='<?=$mod?>' height=20></td></tr>

<? if (count($list) == 0) { echo "<tr><td colspan='$mod' height=100 align=center>no data</td></tr>"; } ?>

</table>
</div>

</form>

<div  style="margin-top:7px; height:31px;">
    <div style="float:left;">

    <? if ($is_checkbox) { ?>
    <span class="button"><a href="javascript:select_delete();">선택삭제</a></span>
    <span class="button"><a href="javascript:select_copy('copy');">선택복사</a></span>
    <span class="button"><a href="javascript:select_copy('move');">선택이동</a></span>
    <? } ?>
    </div>

    <div style="float:right;">
<? if ($admin_href) { ?><span class="button"><a href="<?=$admin_href?>">관리자</a></span><?}?>
<? if ($write_href) { ?><span class="button"><a href="<?=$write_href?>">글쓰기</a></span><? } ?>

    </div>
<div style="clear:both;"></div>
</div>


<!-- 페이지 -->
<div style="text-align:center;  margin:5px 0 10px 0; padding:5px 0;">

    <? if ($prev_part_href) { echo "<a href='$prev_part_href'><img src='$board_skin_path/img/page_search_prev.gif' border=0 align=absmiddle title='이전검색'></a>"; } ?>
    <?
    // 기본으로 넘어오는 페이지를 아래와 같이 변환하여 이미지로도 출력할 수 있습니다.
    //echo $write_pages;
    $write_pages = str_replace("처음", "<img src='$board_skin_path/img/page_begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);
    $write_pages = str_replace("이전", "<img src='$board_skin_path/img/page_prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);
    $write_pages = str_replace("다음", "<img src='$board_skin_path/img/page_next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);
    $write_pages = str_replace("맨끝", "<img src='$board_skin_path/img/page_end.gif' border='0' align='absmiddle' title='맨끝'>", $write_pages);
    $write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "<b><span style=\"color:#B3B3B3; font-size:12px;\">$1</span></b>", $write_pages);
    $write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<b><span style=\" font-size:12px; text-decoration:underline;\">$1</span></b>", $write_pages);
    ?>
    <?=$write_pages?>
    <? if ($next_part_href) { echo "<a href='$next_part_href'><img src='$board_skin_path/img/page_search_next.gif' border=0 align=absmiddle title='다음검색'></a>"; } ?>

</div>



</td></tr></table>


<script type="text/javascript">
/*
if ('<?=$sca?>') document.fcategory.sca.value = '<?=$sca?>';
if ('<?=$stx?>') {
    document.fsearch.sfl.value = '<?=$sfl?>';

    if ('<?=$sop?>' == 'and')
        document.fsearch.sop[0].checked = true;

    if ('<?=$sop?>' == 'or')
        document.fsearch.sop[1].checked = true;
} else {
    document.fsearch.sop[0].checked = true;
}
*/
</script>


<? if ($is_checkbox) { ?>
<script type="text/javascript">
function all_checked(sw) {
    var f = document.fboardlist;

    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]")
            f.elements[i].checked = sw;
    }
}

function check_confirm(str) {
    var f = document.fboardlist;
    var chk_count = 0;

    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
            chk_count++;
    }

    if (!chk_count) {
        alert(str + "할 게시물을 하나 이상 선택하세요.");
        return false;
    }
    return true;
}

// 선택한 게시물 삭제
function select_delete() {
    var f = document.fboardlist;

    str = "삭제";
    if (!check_confirm(str))
        return;

    if (!confirm("선택한 게시물을 정말 "+str+" 하시겠습니까?\n\n한번 "+str+"한 자료는 복구할 수 없습니다"))
        return;

    f.action = "./delete_all.php";
    f.submit();
}

// 선택한 게시물 복사 및 이동
function select_copy(sw) {
    var f = document.fboardlist;

    if (sw == "copy")
        str = "복사";
    else
        str = "이동";
                     
    if (!check_confirm(str))
        return;

    var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");

    f.sw.value = sw;
    f.target = "move";
    f.action = "./move.php";
    f.submit();
}
</script>
<? } ?>
<!-- 게시판 목록 끝 -->

댓글 전체

DB에 정상적으로 데이터가 저장 되었다면 되는 것이 당연한데요.....

우선 $category_option은 그누보드/bbs/list.php 파일에 보면 다음과 같이 정의 되어 있습니다.

$category_option = get_category_option($bo_table);

그리고 get_category_option($bo_table) 은

그누보드/lib/common.lib.php 파일에 정의 되어 있구요.

function get_category_option($bo_table='')
{
    global $g4, $board;

    $arr = explode("|", $board[bo_category_list]); // 구분자가 , 로 되어 있음
    $str = "";
    for ($i=0; $i<count($arr); $i++)
        if (trim($arr[$i]))
            $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";

    return $str;
}

이렇게 기본적으로 정의 되어 있는 함수를 이용해서 사용하는 것이라

정상적으로 나와야 하는데 무엇이 문제일지 올려주신 부분만 봐서는 알 수가 없네요.

이 부분들을 찾아서 확인해 보시구요.

우선 올려주신 소스의 style="width:124px;" 이 부분을 삭제시켜 보실래요?
답변 감사합니다.
알려주신 파일 다 체크해봤는데 그대로네요,, 스타일 없애봐도 안되요..ㅜ.ㅜ
list.skin.php 소스 다 올려볼게요;;;;;;;;;;;;;;;;;;;;;;;;;
번거롭더라도 이왕 답변해주신거.. 한번만 살펴봐주세요 ^^;
스크립트 부분의 주석을 제거해 주세요.

============================= 원 소스 ========================
<script type="text/javascript">
/*
if ('<?=$sca?>') document.fcategory.sca.value = '<?=$sca?>';
if ('<?=$stx?>') {
    document.fsearch.sfl.value = '<?=$sfl?>';

    if ('<?=$sop?>' == 'and')
        document.fsearch.sop[0].checked = true;

    if ('<?=$sop?>' == 'or')
        document.fsearch.sop[1].checked = true;
} else {
    document.fsearch.sop[0].checked = true;
}
*/
</script>
============================================================

============================ 수정 소스 ========================

<script type="text/javascript">

if ('<?=$sca?>') document.fcategory.sca.value = '<?=$sca?>';
if ('<?=$stx?>') {
    document.fsearch.sfl.value = '<?=$sfl?>';

    if ('<?=$sop?>' == 'and')
        document.fsearch.sop[0].checked = true;

    if ('<?=$sop?>' == 'or')
        document.fsearch.sop[1].checked = true;
} else {
    document.fsearch.sop[0].checked = true;
}

</script>
===============================================================
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT