영카트5 관리자 상품관리 에서 카테고리 정렬 오류 > 기술자료

본문 바로가기

사이트 내 전체검색

영카트5 관리자 상품관리 에서 카테고리 정렬 오류 > 기술자료

영카트 영카트5 관리자 상품관리 에서 카테고리 정렬 오류

페이지 정보


본문

영카트 관리자페이지에서 상품관리에서 카테고리 1차 2차 등의 순서가 올바르지 않게 나오는 현상 해결하기


1. /lib/shop.lib.php 내용 추가

// 분류 옵션 생성
function make_shop_category_options($parent_ca_id = '', $depth = 0)
{
    global $g5, $is_admin, $member;

    $sql = " select ca_id, ca_name, ca_order
               from {$g5['g5_shop_category_table']}
              where 1 ";

    if ($is_admin != 'super') {
        $sql .= " and ca_mb_id = '".sql_real_escape_string($member['mb_id'])."' ";
    }

    if ($parent_ca_id == '') {
        // 1차 분류만
        $sql .= " and length(ca_id) = 2 ";
    } else {
        // 현재 부모의 바로 아래 자식만
        $child_len = strlen($parent_ca_id) + 2;
        $sql .= " and ca_id like '".sql_real_escape_string($parent_ca_id)."%' ";
        $sql .= " and length(ca_id) = '{$child_len}' ";
    }

    $sql .= " order by ca_order, ca_id ";

    $result = sql_query($sql);
    $html = '';

    while ($row = sql_fetch_array($result)) {
        $nbsp = str_repeat('   ', $depth);
        $html .= '<option value="'.$row['ca_id'].'">'.$nbsp.get_text($row['ca_name']).'</option>'.PHP_EOL;

        // 현재 분류의 하위 분류 이어서 출력
        $html .= make_shop_category_options($row['ca_id'], $depth + 1);
    }

    return $html;
}

function make_shop_category_options_selected($selected_ca_id = '', $parent_ca_id = '', $depth = 0)
{
    global $g5, $is_admin, $member;

    $sql = " select ca_id, ca_name, ca_order
               from {$g5['g5_shop_category_table']}
              where 1 ";

    if ($is_admin != 'super') {
        $sql .= " and ca_mb_id = '".sql_real_escape_string($member['mb_id'])."' ";
    }

    if ($parent_ca_id == '') {
        $sql .= " and length(ca_id) = 2 ";
    } else {
        $child_len = strlen($parent_ca_id) + 2;
        $sql .= " and ca_id like '".sql_real_escape_string($parent_ca_id)."%' ";
        $sql .= " and length(ca_id) = '{$child_len}' ";
    }

    $sql .= " order by ca_order, ca_id ";

    $result = sql_query($sql);
    $html = '';

    while ($row = sql_fetch_array($result)) {
        $nbsp = str_repeat('   ', $depth);
        $selected = get_selected($selected_ca_id, $row['ca_id']);
        $html .= '<option value="'.$row['ca_id'].'" '.$selected.'>'.$nbsp.get_text($row['ca_name']).'</option>'.PHP_EOL;
        $html .= make_shop_category_options_selected($selected_ca_id, $row['ca_id'], $depth + 1);
    }

    return $html;
}




2. /adm/shop_admin/itemlist.php
<<<< 변경전 >>>>
// 분류
$ca_list  = '<option value="">선택</option>'.PHP_EOL;
$sql = " select * from {$g5['g5_shop_category_table']} ";
if ($is_admin != 'super')
    $sql .= " where ca_mb_id = '{$member['mb_id']}' ";
$sql .= " order by ca_order, ca_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
    $len = strlen($row['ca_id']) / 2 - 1;
    $nbsp = '';
    for ($i=0; $i<$len; $i++) {
        $nbsp .= '   ';
    }
    $ca_list .= '<option value="'.$row['ca_id'].'">'.$nbsp.$row['ca_name'].'</option>'.PHP_EOL;
}

<<<< 변경후 >>>>
// 분류
// lib/shop.lib.php 
// function make_shop_category_options($parent_ca_id = '', $depth = 0)
$ca_list  = '<option value="">선택</option>'.PHP_EOL;
$ca_list .= make_shop_category_options();
/*$ca_list  = '<option value="">선택</option>'.PHP_EOL;
$sql = " select * from {$g5['g5_shop_category_table']} ";
if ($is_admin != 'super')
    $sql .= " where ca_mb_id = '{$member['mb_id']}' ";
$sql .= " order by ca_order, ca_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
    $len = strlen($row['ca_id']) / 2 - 1;
    $nbsp = '';
    for ($i=0; $i<$len; $i++) {
        $nbsp .= '   ';
    }
    $ca_list .= '<option value="'.$row['ca_id'].'">'.$nbsp.$row['ca_name'].'</option>'.PHP_EOL;
}*/



3. /adm/shop_admin/itemlist.php
<<<< 변경전 >>>>
<select name="sca" id="sca">
    <option value="">전체분류</option>
    <?php
    $sql1 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} order by ca_order, ca_id ";
    $result1 = sql_query($sql1);
    for ($i=0; $row1=sql_fetch_array($result1); $i++) {
        $len = strlen($row1['ca_id']) / 2 - 1;
        $nbsp = '';
        for ($i=0; $i<$len; $i++) $nbsp .= '   ';
        echo '<option value="'.$row1['ca_id'].'" '.get_selected($sca, $row1['ca_id']).'>'.$nbsp.$row1['ca_name'].'</option>'.PHP_EOL;
    }
    ?>
</select>


<<<< 변경후 >>>>
<select name="sca" id="sca">
    <option value="">전체분류</option>
    <?php
    // lib/shop.lib.php 
    // function make_shop_category_options_selected($selected_ca_id = '', $parent_ca_id = '', $depth = 0)
    /*
    $sql1 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} order by ca_order, ca_id ";
    $result1 = sql_query($sql1);
    for ($i=0; $row1=sql_fetch_array($result1); $i++) {
        $len = strlen($row1['ca_id']) / 2 - 1;
        $nbsp = '';
        for ($i=0; $i<$len; $i++) $nbsp .= '   ';
        echo '<option value="'.$row1['ca_id'].'" '.get_selected($sca, $row1['ca_id']).'>'.$nbsp.$row1['ca_name'].'</option>'.PHP_EOL;
    }
    */
    echo make_shop_category_options_selected($sca); 
    ?>
</select>



4-1. /adm/shop_admin/itemform.php
<<<< 변경전 >>>>
// 분류리스트
$category_select = '';
$script = '';
$sql = " select * from {$g5['g5_shop_category_table']} ";
if ($is_admin != 'super')
    $sql .= " where ca_mb_id = '{$member['mb_id']}' ";
$sql .= " order by ca_order, ca_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
    $len = strlen($row['ca_id']) / 2 - 1;

    $nbsp = "";
    for ($i=0; $i<$len; $i++)
        $nbsp .= "&nbsp;&nbsp;&nbsp;";

    $category_select .= "<option value=\"{$row['ca_id']}\">$nbsp{$row['ca_name']}</option>\n";

    $script .= "ca_use['{$row['ca_id']}'] = {$row['ca_use']};\n";
    $script .= "ca_stock_qty['{$row['ca_id']}'] = {$row['ca_stock_qty']};\n";
    //$script .= "ca_explan_html['$row[ca_id]'] = $row[ca_explan_html];\n";
    $script .= "ca_sell_email['{$row['ca_id']}'] = '{$row['ca_sell_email']}';\n";
}


<<<<  변경후 >>>>
// 분류리스트
$category_select = make_shop_category_options();
$script = '';

$sql = " select ca_id, ca_use, ca_stock_qty, ca_sell_email
           from {$g5['g5_shop_category_table']} ";
if ($is_admin != 'super')
    $sql .= " where ca_mb_id = '{$member['mb_id']}' ";
$sql .= " order by ca_id ";
$result = sql_query($sql);

for ($i=0; $row=sql_fetch_array($result); $i++)
{
    $script .= "ca_use['{$row['ca_id']}'] = {$row['ca_use']};\n";
    $script .= "ca_stock_qty['{$row['ca_id']}'] = {$row['ca_stock_qty']};\n";
    $script .= "ca_sell_email['{$row['ca_id']}'] = '".addslashes($row['ca_sell_email'])."';\n";
}




4-2. /adm/shop_admin/itemform.php
<<<< 변경전 >>>>
                <select id="sch_relation">
                    <option value=''>분류별 상품</option>
                    <?php
                        $sql = " select * from {$g5['g5_shop_category_table']} ";
                        if ($is_admin != 'super')
                            $sql .= " where ca_mb_id = '{$member['mb_id']}' ";
                        $sql .= " order by ca_order, ca_id ";
                        $result = sql_query($sql);
                        for ($i=0; $row=sql_fetch_array($result); $i++)
                        {
                            $len = strlen($row['ca_id']) / 2 - 1;

                            $nbsp = "";
                            for ($i=0; $i<$len; $i++)
                                $nbsp .= "   ";

                            echo "<option value=\"{$row['ca_id']}\">$nbsp{$row['ca_name']}</option>\n";
                        }
                    ?>
                </select>


<<<<  변경후 >>>>
               <select id="sch_relation">
                    <option value=''>분류별 상품</option>
                    <?php
                        /*
                        $sql = " select * from {$g5['g5_shop_category_table']} ";
                        if ($is_admin != 'super')
                            $sql .= " where ca_mb_id = '{$member['mb_id']}' ";
                        $sql .= " order by ca_order, ca_id ";
                        $result = sql_query($sql);
                        for ($i=0; $row=sql_fetch_array($result); $i++)
                        {
                            $len = strlen($row['ca_id']) / 2 - 1;

                            $nbsp = "";
                            for ($i=0; $i<$len; $i++)
                                $nbsp .= "   ";

                            echo "<option value=\"{$row['ca_id']}\">$nbsp{$row['ca_name']}</option>\n";
                        }*/
                        echo make_shop_category_options();
                    ?>
                </select>

댓글목록

등록된 댓글이 없습니다.


Total 2,649건 1 페이지
  • RSS
기술자료 목록
열람
영카트   6  2026-03-20 14:42 ~ 2026-03-20 14:52  
2648
그누보드   277  2026-02-03 11:54 ~ 2026-02-03 11:58  
2647
그누보드   304  2026-02-03 11:51  
2646
그누보드   460  2026-02-02 19:40 ~ 2026-02-03 11:44  
2645
Search   796  2025-10-15 17:04 ~ 2025-10-23 00:29  
2644
MySQL   1058  2025-08-28 17:54 ~ 2025-08-28 17:55  
2643
PHP   2479  2025-02-07 09:27 ~ 2025-02-07 16:59  
2642
그누보드   2149  2025-02-07 08:55 ~ 2025-02-07 17:04  
2641
그누보드   2329  2024-11-26 21:14 ~ 2024-11-26 21:22  
2640
그누보드   4359  2024-11-22 10:52 ~ 2024-11-22 11:03  
2639
호스팅   2773  2024-11-19 14:41 ~ 2024-11-19 21:17  
2638
Linux   2013  2024-11-18 15:45 ~ 2024-11-18 15:48  
2637
일반   1790  2024-11-15 16:45 ~ 2024-11-15 16:46  
2636
Secure   1962  2024-11-06 18:48 ~ 2024-11-06 18:50  
2635
영카트   2299  2024-10-21 13:44 ~ 2025-08-29 23:40  
2634
전자결제   3775  2024-09-05 09:30  
2633
MySQL   2807  2024-03-29 14:14 ~ 2024-03-29 14:14  
2632
그누보드   3057  2024-02-23 18:40 ~ 2024-02-24 06:13  
2631
JavaScript   3050  2024-02-16 18:50 ~ 2024-02-16 20:37  
2630
Java   3186  2024-02-06 16:49  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2026 해피정닷컴. All Rights Reserved.