skin.exe.php 인클루드 하면 카테고리 링크가 없어집니다.

skin.exe.php 인클루드 하면 카테고리 링크가 없어집니다.

QA

skin.exe.php 인클루드 하면 카테고리 링크가 없어집니다.

본문

skin.exe.php 인클루드 한경우
카테고리 쪽도 링크가 없어져 버리고 카테고리링크 테두리 박스가 없어집니다.
어디를 수정해야 하는지 도움말씀 주시면 감사드립니다.

 

사용한 스킨 ; https://sir.kr/g5_skin/8318

 

정상인 경우 : skin.exe.php 인클루드 안한 경우

35ba69b2fff2756f3b27afa6e61217d3_1495548464_9185.jpg 

 

비정상인 경우 : skin.exe.php 인클루드 한 경우

35ba69b2fff2756f3b27afa6e61217d3_1495548464_9466.jpg 

 

 

 

list.skin.php

<?php if ($is_category) { ?>
    <nav id="bo_cate">
        <h2><?php echo ($board['bo_mobile_subject'] ? $board['bo_mobile_subject'] : $board['bo_subject']) ?> 카테고리</h2>
        <ul id="bo_cate_ul">
            <?php echo $category_option ?>
        </ul>
    </nav>
    <?php } ?>

 

 

============

skin.exe.php

 

 

<?
function get_sql_search1($search_ca_name, $search_field, $search_text, $search_operator='and',$wr_7,$wr_8,$wr_9,$wr_5)
{
    global $g5;

    $str = "";
    if ($search_ca_name)
        $str = " ca_name = '$search_ca_name' ";


    if ($wr_7) {
 if ($str) {
 $str = "(" . $str . " and wr_7 = '$wr_7') ";
 } else {
 $str = " wr_7 = '$wr_7' ";
 }
    }
 if ($wr_8) {
 if ($str) {
 $str = "(" . $str . " and wr_8 = '$wr_8') ";
 } else {
 $str = " wr_8 = '$wr_8' ";
 }
    }
 if ($wr_9) {
 if ($str) {
 $str = "(" . $str . " and wr_9 = '$wr_9') ";
 } else {
 $str = " wr_9 = '$wr_9' ";
 }
    }
 if ($wr_5) {
 if ($str) {
 $str = "(" . $str . " and wr_5 = '$wr_5') ";
 } else {
 $str = " wr_5 = '$wr_5' ";
 }
    }


    $search_text = trim($search_text);

    if (!$search_text)
        return $str;

    if ($str)
        $str .= " and ";

    // 쿼리의 속도를 높이기 위하여 ( ) 는 최소화 한다.
    $op1 = "";

    // 검색어를 구분자로 나눈다. 여기서는 공백
    $s = array();
    $s = explode(" ", $search_text);

    // 검색필드를 구분자로 나눈다. 여기서는 +
    //$field = array();
    //$field = explode("||", trim($search_field));
    $tmp = array();
    $tmp = explode(",", trim($search_field));
    $field = explode("||", $tmp[0]);
    $not_comment = $tmp[1];

    $str .= "(";
    for ($i=0; $i<count($s); $i++) {
        // 검색어
        $search_str = trim($s[$i]);
        if ($search_str == "") continue;

        // 인기검색어
        //$sql = " insert into $g4[popular_table] set pp_word = '$search_str', pp_date = '$g4[time_ymd]', pp_ip = '$_SERVER[REMOTE_ADDR]' ";
  $sql = " insert into $g5[popular_table] set pp_word = '$search_str', pp_date = '".G5_TIME_YMD."', pp_ip = '$_SERVER[REMOTE_ADDR]' ";
        sql_query($sql, FALSE);

        $str .= $op1;
        $str .= "(";

        $op2 = "";
        for ($k=0; $k<count($field); $k++) { // 필드의 수만큼 다중 필드 검색 가능 (필드1+필드2...)
            $str .= $op2;
            switch ($field[$k]) {
                case "mb_id" :
                case "wr_name" :
                    $str .= " $field[$k] = '$s[$i]' ";
                    break;
                case "wr_hit" :
                case "wr_good" :
                case "wr_nogood" :
                    $str .= " $field[$k] >= '$s[$i]' ";
                    break;
                // 번호는 해당 검색어에 -1 을 곱함
                case "wr_num" :
                    $str .= "$field[$k] = ".((-1)*$s[$i]);
                    break;
                // LIKE 보다 INSTR 속도가 빠름
                default :
                    if (preg_match("/[a-zA-Z]/", $search_str))
                        $str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))";
                    else
                        $str .= "INSTR($field[$k], '$search_str')";
                    break;
            }
            $op2 = " or ";
        }
        $str .= ")";

        //$op1 = ($search_operator) ? ' and ' : ' or ';
        $op1 = " $search_operator ";
    }
    $str .= " ) ";
    if ($not_comment)
        $str .= " and wr_is_comment = '0' ";

    return $str;
}


// 분류 사용 여부
$is_category = false;
if ($board[bo_use_category])
{
    $is_category = true;
    $category_location = "./board.php?bo_table=$bo_table&sca=";
    $category_option = get_category_option($bo_table); // SELECT OPTION 태그로 넘겨받음
}

$sop = strtolower($sop);
if ($sop != "and" && $sop != "or")
    $sop = "and";

// 분류 선택 또는 검색어가 있다면
if ($sca || $stx || $wr_7 || $wr_8 || $wr_9 || $wr_5)
{
    $sql_search = get_sql_search1($sca, $sfl, $stx, $sop, $wr_7, $wr_8, $wr_9, $wr_5);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from $write_table ";
    $row = sql_fetch($sql);
    $min_spt = $row[min_wr_num];

    if (!$spt) $spt = $min_spt;

    $sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    $sql = " select distinct wr_parent from $write_table where $sql_search ";
    $result = sql_query($sql);
    //$total_count = mysql_num_rows($result);
 $total_count = sql_num_rows($result);
}
else
{
    $sql_search = "";

    $total_count = $board[bo_count_write];


}

$total_page  = ceil($total_count / $board[bo_page_rows]);  // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함

// 관리자라면 CheckBox 보임
$is_checkbox = false;
if ($member[mb_id] && ($is_admin == "super" || $group[gr_admin] == $member[mb_id] || $board[bo_admin] == $member[mb_id]))
    $is_checkbox = true;

// 정렬에 사용하는 QUERY_STRING
$qstr2 = "bo_table=$bo_table&sop=$sop";

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

// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
if (!$sst)
{
    if ($board[bo_sort_field])
        $sst = $board[bo_sort_field];
    else
        $sst  = "wr_num, wr_reply";
    $sod = "";
}
$sql_order = " order by $sst $sod ";

if ($sca || $stx || $wr_7 || $wr_8 || $wr_9 || $wr_5)
{
    $sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
}
else
{
//범위 검색 시작
if($srl && $srh) {
$sql_search_range = " ($sst BETWEEN '".$srl."' AND '".$srh."') and ";
}
//범위 검색 끝
    $sql = " select * from $write_table where $sql_search_range wr_is_comment = 0 $sql_order limit $from_record, $board[bo_page_rows] ";
}

$result = sql_query($sql);

// 년도 2자리
//$today2 = $g4[time_ymd];
$today2 = G5_TIME_YMD;

$list = array();
$i = 0;

if (!$sca && !$stx && !$wr_7 && !$wr_8 && !$wr_9 && !$wr_5)
{
    $arr_notice = split("\n", trim($board[bo_notice]));
    for ($k=0; $k<count($arr_notice); $k++)
    {
        if (trim($arr_notice[$k])=='') continue;

        $row = sql_fetch(" select * from $write_table where wr_id = '$arr_notice[$k]' ");

        if (!$row[wr_id]) continue;

        //$list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
  $list[$i] = get_list($row, $board, $board_skin_url, $board[bo_subject_len]);
        $list[$i][is_notice] = true;

        $i++;
    }
}

$k = 0;

while ($row = sql_fetch_array($result))
{
    // 검색일 경우 wr_id만 얻었으므로 다시 한행을 얻는다
    if ($sca || $stx || $wr_7 || $wr_8 || $wr_9 || $wr_5)
        $row = sql_fetch(" select * from $write_table where wr_id = '$row[wr_parent]' ");

    //$list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
 $list[$i] = get_list($row, $board, $board_skin_url, $board[bo_subject_len]);
    if (strstr($sfl, "subject"))
        $list[$i][subject] = search_font($stx, $list[$i][subject]);
    $list[$i][is_notice] = false;
    //$list[$i][num] = number_format($total_count - ($page - 1) * $board[bo_page_rows] - $k);
    $list[$i][num] = $total_count - ($page - 1) * $board[bo_page_rows] - $k;

    $i++;
    $k++;
}

$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "./board.php?bo_table=$bo_table".$qstr."&page=");

$list_href = '';
$prev_part_href = '';
$next_part_href = '';
if ($sca || $stx || $wr_7 || $wr_8 || $wr_9 || $wr_5) 
{
    $list_href = "./board.php?bo_table=$bo_table";

    //if ($prev_spt >= $min_spt)
    $prev_spt = $spt - $config[cf_search_part];
    if (isset($min_spt) && $prev_spt >= $min_spt)
        $prev_part_href = "./board.php?bo_table=$bo_table".$qstr."&spt=$prev_spt";

    $next_spt = $spt + $config[cf_search_part];
    if ($next_spt < 0)
        $next_part_href = "./board.php?bo_table=$bo_table".$qstr."&spt=$next_spt";
}

$write_href = "";
if ($member[mb_level] >= $board[bo_write_level])
    $write_href = "./write.php?bo_table=$bo_table";

$nobr_begin = $nobr_end = "";
if (preg_match("/gecko|firefox/i", $_SERVER['HTTP_USER_AGENT'])) {
    $nobr_begin = "<nobr style='display:block; overflow:hidden;'>";
    $nobr_end   = "</nobr>";
}

// RSS 보기 사용에 체크가 되어 있어야 RSS 보기 가능 061106
$rss_href = "";
if ($board[bo_use_rss_view])
    $rss_href = "./rss.php?bo_table=$bo_table";

$stx = get_text(stripslashes($stx));

$arrayf = explode("|",$board[bo_category_list]);
$arrays1 = explode("|",$board[bo_5]);
$arrayc1 = explode("|",$board[bo_9]);


 for($i=0; $i<count($arrayf); $i++){

  if($sca==$arrayf[$i]){
   $tu = $i+1;
  }
 }

 

//echo $write[wr_5]."<br>";

 

for($i=0; $i<count($arrayf); $i++){

    $arrays2[$i] = explode("^",$arrays1[$i]);
    $arrayc2[$i] = explode("^",$arrayc1[$i]);


$ts = $i+1;
for($j=0; $j<count($arrays2[$i]); $j++){

  $arrayc3[$i][$j] = explode("~",$arrayc2[$i][$j]);
  if($ts==$tu){
    $wr_5s .= "<option value='".$arrays2[$i][$j]."'";
    if($wr_5==$arrays2[$i][$j]){
    $wr_5s .= " selected ";
    $tvs = $j;
    }
    $wr_5s .=">".$arrays2[$i][$j]."</option>";

  }
}

}
?>
 

이 질문에 댓글 쓰기 :

답변 1

원래 게시판 스킨은 분류 출력 방식이 펼침 형태인데

올려주신 코드는 select 방식이라서 그런 것 같네요. 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,595 | RSS
QA 내용 검색

회원로그인

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