<./>.dev./hood

영카트 이용 중 추천 상품 목록을 추가 할 때가 필요하다.

5개가 기본적으로 제공 되지만 추가 사용이 불가피 한 상황에서는 이 마저도 모자란 느낌이 든다.

추가 하는 건 몇개 되지 않지만 수정 해줘야 할 페이지가 상당히 많다.

꼭 사전에 백업을 해놓길 바란다.

shop/listtype.php

파일에서

$type = $_REQUEST['type'];
if ($type == 1)      $g5['title'] = '히트상품';
else if ($type == 2) $g5['title'] = '추천상품';
else if ($type == 3) $g5['title'] = '최신상품';
else if ($type == 4) $g5['title'] = '인기상품';
else if ($type == 5) $g5['title'] = '할인상품';
else if ($type == 6) $g5['title'] = '추가항목';


위와 같은 9라인 즈음 부터 시작하는 조건문을 찾아 추가하고자 하는 항목을 한 줄 더 써넣는다.

adm/shop_admin/configform.php

파일에서 "쇼핑몰 초기화면 설정" 이라는 부분을 찾아

원하는 추가 항목을 DOM 구조에 맞게 de_type6_list_use 를 추가 해주자.

            추가상품출력
            
                
                >
                
                
                
                
                
                
                
                
                
                
            
        


마찬가지로 모바일에서 보여질 설정 화면인 "모바일 쇼핑몰 초기화면 설정" 부분을 찾아 DOM 구조에 맞게 추가 해준다.

            추가상품출력
            
                
                >
                
                
                
                
                
                
                
                
            
        


위와 같이 해주었다면 DB 를 거쳐가는 과정이 필요하게 되니 같은 폴더 내에 있는

configformupdate.php 파일에서 $sql 변수에 있는 쿼리문을 추가 해준다.

de_type6_list_use             = '$de_type6_list_use',
de_type6_list_skin            = '$de_type6_list_skin',
de_type6_list_mod             = '$de_type6_list_mod',
de_type6_list_row             = '$de_type6_list_row',
de_type6_img_width            = '$de_type6_img_width',
de_type6_img_height           = '$de_type6_img_height',

de_mobile_type6_list_use      = '$de_mobile_type6_list_use',
de_mobile_type6_list_skin     = '$de_mobile_type6_list_skin',
de_mobile_type6_list_mod      = '$de_mobile_type6_list_mod',
de_mobile_type6_img_width     = '$de_mobile_type6_img_width',
de_mobile_type6_img_height    = '$de_mobile_type6_img_height',


위와 같이 추가 해주면 관리자 화면에서 설정 해야 할 추가상품설정 부분이 원할하게 작동 된다.

다음으로 관리자 페이지에서 상품 설정 유형을 보이게끔 해야하기 때문에

adm/shop_adm/itemtypelist.php

파일에서 61번째 줄 즈음에 있는 $sql 변수에 담긴 쿼리문을 찾는다.

$sql = " select it_id,
it_name,
it_type1,
it_type2,
it_type3,
it_type4,
it_type5,
it_type6
$sql_common
$sql_order
limit $from_record, $rows ";
$result = sql_query($sql);


위와 같은 형식으로 수정 및 it_type6 을 추가 해준다.

그리고 131 번째 "상품코드" 부분에서

히트
상품 추천
상품 신규
상품 인기
상품 할인
상품 추가
상품


위와 같이 추가 해주고 바로 아래에 있는


>



>



>



>



>



>



DOM 구조에 맞게 추가상품 영역을 추가 해준다.

프론트엔드가 완성 되었으므로 쿼리문으로 DB 접속이 필요하기 때문에 역시 같은 페이지에 있는

itemtypelistupdate.php 파일에서

$sql 변수에 담긴 쿼리문을 아래와 같이 수정 해주자.

$sql = "update {$g5['g5_shop_item_table']}
               set it_type1 = '{$_POST['it_type1'][$i]}',
                   it_type2 = '{$_POST['it_type2'][$i]}',
                   it_type3 = '{$_POST['it_type3'][$i]}',
                   it_type4 = '{$_POST['it_type4'][$i]}',
                   it_type5 = '{$_POST['it_type5'][$i]}',
				   it_type6 = '{$_POST['it_type6'][$i]}'
             where it_id = '{$_POST['it_id'][$i]}' ";


이제 해당 추가상품의 이미지를 보여주기 위해서 라이브러리에 해당하는

lib/shop.lib.php

파일을 열어 "// 상품이미지에 유형 아이콘 출력" 부분을 찾아 아래와 같이 수정 해준다.

$icon = '';
    // 품절
    if (is_soldout($it['it_id']))
        $icon .= '품절';

    if ($it['it_type1'])
        $icon .= '히트상품';

    if ($it['it_type2'])
        $icon .= '추천상품';

    if ($it['it_type3'])
        $icon .= '최신상품';

    if ($it['it_type4'])
        $icon .= '인기상품';

    if ($it['it_type5'])
        $icon .= '할인상품';

	if ($it['it_type6'])
        $icon .= '추가상품';



마지막 쿼리문을 작성 해줘야 하는데

adm/shop_admin/itemform.php 파일에서 "상품유형" 부분을 찾아

추가상품 구문을 추가 해주자.

 id="it_type1">

 id="it_type2">

 id="it_type3">

 id="it_type4">

 id="it_type5">

 id="it_type6">



그리고, DB 입력을 위한 같은 폴더 내 위치 한 itemformupdate.php 파일을 찾아

266 줄 $sql_common 변수 쿼리문에 아래와 같이 추가 해줍니다.

it_type6 = '$it_type6',


여기까지 모든 상품유형 설정 추가 구문의 완료 시점입니다.

이제 마지막으로 추가상품을 인덱스 페이지에서 보여 줄 수 있도록

shop/index.php 파일을 아래와 같이 추가 해줍니다.



추가상품

추가상품 모음

set_type(6); $list->set_view('it_id', false); $list->set_view('it_name', true); $list->set_view('it_basic', true); $list->set_view('it_cust_price', true); $list->set_view('it_price', true); $list->set_view('it_icon', true); $list->set_view('sns', true); echo $list->run(); ?>