그누보드

영카트 회원등급별 가격 변경

헤롱헤롱이 2020. 4. 22. 10:32
/common.php 추가

 

function get_member_level_string($mb_level = null) {

    $m_level = array(

        1 => "비회원",

        2 => "일반회원",

        3 => "우수회원",

        4 => "VIP회원",

        10 => "관리자"

    );

    if ($mb_level == null ) {

        return $m_level;

    } else {

        return  $m_level[$mb_level] ;

    }

}



/lib/shop.lib.php 추가



function get_price($it)

{

    global $member, $default;

    if ($it['it_tel_inq']) return '전화문의';

    switch ($member['mb_level']) {

        case 2: $discount_rate = ($default["de_normal_price"]/100); break; // 일반

        case 3: $discount_rate = ($default["de_excellent_price"]/100); break; // 우수

        case 4: $discount_rate = ($default["de_vip_price"]/100); break; // VIP

        default: $discount_rate = 0; break;

    }

   

    $price = $it['it_price'] * (1 - $discount_rate);

  

    return (int)$price;

}

 

/shop/cartupdate.php 322번째줄 추가(배송비결제 밑에 추가)



switch ($member['mb_level']) {

   case 2: $discount_rate = ($default["de_normal_price"]/100); break; // 일반

   case 3: $discount_rate = ($default["de_excellent_price"]/100); break; // 우수

   case 4: $discount_rate = ($default["de_vip_price"]/100); break; // VIP

   default: $discount_rate = 0; break;

}

 

/shop_admin/configform.php 추가

 

<tr>

            <th scope="row"><label for="de_point_days">일반회원 할인율</label></th>

            <td>

                <input type="text" name="de_normal_price" value="<?php echo $default['de_normal_price']; ?>" id="de_normal_price" class="frm_input" size="2">%

            </td>

        </tr>

       

        <tr>

            <th scope="row"><label for="de_excellent_price">우수회원 할인율</label></th>

            <td>

                <input type="text" name="de_excellent_price" value="<?php echo $default['de_excellent_price']; ?>" id="de_excellent_price" class="frm_input" size="2">%

            </td>

        </tr>

       

        <tr>

            <th scope="row"><label for="de_vip_price">VIP회원 할인율</label></th>

            <td>

                <input type="text" name="de_vip_price" value="<?php echo $default['de_vip_price']; ?>" id="de_vip_price" class="frm_input" size="2">%

            </td>

        </tr>

 

/shop_admin/configformupdate.php



$sql =>update에 추가

de_normal_price               = '{$_POST['de_normal_price']}',

de_excellent_price            = '{$_POST['de_excellent_price']}',

de_vip_price                  = '{$_POST['de_vip_price']}'

 



DB스키마

g5_shop_default

de_normal_price      int  10

de_excellent_price   int  10

de_vip_price         int  10

 

추가                          

 

/adm/admin.lib.php

 

// 회원권한을 SELECT 형식으로 얻음

function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event="")

{

    global $g5;

    $tempLevel = array("1" => "비회원", "2" => "일반회원", "3" => "판매회원", "10" => "관리자");

   

    $str = "\n<select id=\"{$name}\" name=\"{$name}\"";

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

    $str .= ">\n";

    for ($i=$start_id; $i<=$end_id; $i++) {

        if($i > 3 && $i < 10) continue;

        $str .= '<option value="'.$i.'"';

        if ($i == $selected)

            $str .= ' selected="selected"';

        $str .= ">{$i} : {$tempLevel[$i]}</option>\n";

    }

    $str .= "</select>\n";

    return $str;

}