네이버지식쇼핑 EP 버전 3.0 적용

This commit is contained in:
chicpro
2016-11-11 11:41:35 +09:00
parent b10fc1e088
commit daa1fb9fe2
5 changed files with 109 additions and 294 deletions

View File

@ -39,9 +39,6 @@ $pg_anchor = '<ul class="anchor">
<li>입점 안내 : <a href="http://join.shopping.naver.com/join/intro.nhn" target="_blank">http://join.shopping.naver.com/join/intro.nhn</a></li>
<li>전체상품 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/naver.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/naver.php</a></li>
<li>요약상품 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/naver_summary.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/naver_summary.php</a></li>
<li>신규상품 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/naver_new.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/naver_new.php</a></li>
<li>신규요약 URL : <a href="<?php echo G5_SHOP_URL; ?>/price/naver_new_summary.php" target="_blank"><?php echo G5_SHOP_URL; ?>/price/naver_new_summary.php</a></li>
</ul>
</dd>
<dt><a href="http://shopping.daum.net/" target="_blank">다음 쇼핑하우</a></dt>
<dd>

View File

@ -1,46 +1,44 @@
<?php
include_once('./_common.php');
ob_start();
// clean the output buffer
ob_end_clean();
/*
네이버지식쇼핑상품EP (Engine Page) 제작및연동가이드 (제휴사제공용)
http://imgshopping.naver.net/admin/join/download/db_url/db_url_guide_20101205.pdf
EP 버전 3.0
Field Status Notes
<<<begin>>> 필수 상품의 시작을 알리는 필드
<<<mapid>>> 필수 판매하는 상품의 유니크한 상품ID
<<<pname>>> 필수 실제 서비스에 반영될 상품명(Title)
<<<price>>> 필수 해당 상품의 판매가격
<<<pgurl>>> 필수 해당 상품을 구매할 수 있는 상품URL
<<<igurl>>> 필수 해당 상품의 이미지URL
<<<cate1>>> 필수 판매하는 상품의 카테고리명(대분류)
<<<cate2>>> 선택 판매하는 상품의 카테고리명(중분류)
<<<cate3>>> 선택 판매하는 상품의 카테고리명(분류)
<<<cate4>>> 선택 판매하는 상품의 카테고리명(분류)
<<<caid1>>> 필수 판매하는 상품의 카테고리명(분류)
<<<caid2>>> 선택 판매하는 상품의 카테고리명(분류)
<<<caid3>>> 선택 판매하는 상품의 카테고리명(소분류)
<<<caid4>>> 선택 판매하는 상품의 카테고리명(세분류)
<<<model>>> 선택 모델명
<<<brand>>> 선택 브랜드
<<<maker>>> 선택 제조사
<<<origi>>> 선택 원산지
<<<deliv>>> 필수 배송료
<<<event>>> 선택 이벤
<<<coupo>>> 선택 쿠폰
<<<pcard>>> 선택 무이자
<<<point>>> 선택 포인트
<<<mvurl>>> 선택 동영상 상품 여부
<<<selid>>> 선택 셀러 ID (오픈마켓에 한함)
<<<barcode>>> 선택 바코드 (전체EP만 사용)
<<<ftend>>> 필수 상품의 마지막을 알리는 필드
네이버지식쇼핑상품EP (Engine Page) 제작및연동가이드 (제휴사제공용)
http://join.shopping.naver.com/misc/download/ep_guide.nhn
Field Status Notes
id 필수 판매하는 상품의 유니크한 상품ID
title 필수 실제 서비스에 반영될 상품명(Title)
price_pc 필수 상품가격
link 필수 상품URL
image_link 필수 해당 상품의 이미지URL
category_name1 필수 카테고리명(분류)
category_name2 권장 카테고리명(분류)
category_name3 권장 카테고리명(분류)
category_name4 권장 카테고리명(분류)
model_number 권장 모델명
brand 권장 브랜드
maker 권장 제조사
origin 권장 원산지
event_words 권장 이벤트
coupon 권장 쿠폰
interest_free_event 권장 무이자
point 권장 포인
shipping 필수 배송료
seller_id 권장 셀러 ID (오픈마켓에 한함)
class 필수(요약) I (신규상품) / U (업데이트 상품) / D (품절상품)
update_time 필수(요약) 상품정보 생성 시각
*/
$lt = "<<<";
$gt = ">>>";
$shop_url = G5_SHOP_URL;
$data_url = G5_DATA_URL;
$tab = "\t";
ob_start();
echo "id{$tab}title{$tab}price_pc{$tab}link{$tab}image_link{$tab}category_name1{$tab}category_name2{$tab}category_name3{$tab}category_name4{$tab}model_number{$tab}brand{$tab}maker{$tab}origin{$tab}point{$tab}shipping";
$sql =" select * from {$g5['g5_shop_item_table']} where it_use = '1' order by ca_id";
$result = sql_query($sql);
@ -48,29 +46,23 @@ $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$cate1 = $cate2 = $cate3 = $cate4 = "";
$caid1 = $caid2 = $caid3 = $caid4 = "";
$caid1 = substr($row['ca_id'],0,2);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid1' ");
$cate1 = $row2['ca_name'];
$caid2 = $caid3 = $caid4 = "";
$cate2 = $cate3 = $cate4 = "";
if (strlen($row['ca_id']) >= 8) {
$caid4 = substr($row['ca_id'],0,8);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid4' ");
$cate4 = $row2['ca_name'];
}
if (strlen($row['ca_id']) >= 6) {
$caid3 = substr($row['ca_id'],0,6);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid3' ");
$cate3 = $row2['ca_name'];
}
if (strlen($row['ca_id']) >= 4) {
$caid2 = substr($row['ca_id'],0,4);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid2' ");
$cate2 = $row2['ca_name'];
}
@ -84,39 +76,9 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
// 포인트
$it_point = get_item_point($row);
$str = <<< HEREDOC
{$lt}begin{$gt}
{$lt}mapid{$gt}{$row['it_id']}
{$lt}pname{$gt}{$row['it_name']}
{$lt}price{$gt}{$row['it_price']}
{$lt}pgurl{$gt}$shop_url/item.php?it_id={$row['it_id']}
{$lt}igurl{$gt}$img_url
{$lt}cate1{$gt}$cate1
{$lt}cate2{$gt}$cate2
{$lt}cate3{$gt}$cate3
{$lt}cate4{$gt}$cate4
{$lt}caid1{$gt}$caid1
{$lt}caid2{$gt}$caid2
{$lt}caid3{$gt}$caid3
{$lt}caid4{$gt}$caid4
{$lt}model{$gt}
{$lt}brand{$gt}
{$lt}maker{$gt}{$row['it_maker']}
{$lt}origi{$gt}{$row['it_origin']}
{$lt}deliv{$gt}$delivery
{$lt}event{$gt}
{$lt}coupo{$gt}
{$lt}pcard{$gt}
{$lt}point{$gt}$it_point
{$lt}mvurl{$gt}
{$lt}selid{$gt}
{$lt}barcode{$gt}
{$lt}ftend{$gt}
$item_link = G5_SHOP_URL.'/item.php?it_id='.$row['it_id'];
HEREDOC;
// 091223 : 네이버에서는 아직 utf-8 을 지원하지 않고 있음
echo iconv('utf-8', 'euc-kr', $str);
echo "\n{$row['it_id']}{$tab}{$row['it_name']}{$tab}{$row['it_price']}{$tab}{$item_link}{$tab}{$img_url}{$tab}{$cate1}{$tab}{$cate2}{$tab}{$cate3}{$tab}{$cate4}{$tab}{$row['it_model']}{$tab}{$row['it_brand']}{$tab}{$row['it_maker']}{$tab}{$row['it_origin']}{$tab}{$it_point}{$tab}{$delivery}";
}
$content = ob_get_contents();

View File

@ -1,127 +0,0 @@
<?php
include_once('./_common.php');
ob_start();
// 신규상품URL은 전체 상품정보 양식에 맞춰서 해당날짜에 추가된 상품만 출력
/*
네이버지식쇼핑상품EP (Engine Page) 제작및연동가이드 (제휴사제공용)
http://imgshopping.naver.net/admin/join/download/db_url/db_url_guide_20101205.pdf
Field Status Notes
<<<begin>>> 필수 상품의 시작을 알리는 필드
<<<mapid>>> 필수 판매하는 상품의 유니크한 상품ID
<<<pname>>> 필수 실제 서비스에 반영될 상품명(Title)
<<<price>>> 필수 해당 상품의 판매가격
<<<pgurl>>> 필수 해당 상품을 구매할 수 있는 상품URL
<<<igurl>>> 필수 해당 상품의 이미지URL
<<<cate1>>> 필수 판매하는 상품의 카테고리명(대분류)
<<<cate2>>> 선택 판매하는 상품의 카테고리명(중분류)
<<<cate3>>> 선택 판매하는 상품의 카테고리명(소분류)
<<<cate4>>> 선택 판매하는 상품의 카테고리명(세분류)
<<<caid1>>> 필수 판매하는 상품의 카테고리명(대분류)
<<<caid2>>> 선택 판매하는 상품의 카테고리명(중분류)
<<<caid3>>> 선택 판매하는 상품의 카테고리명(소분류)
<<<caid4>>> 선택 판매하는 상품의 카테고리명(세분류)
<<<model>>> 선택 모델명
<<<brand>>> 선택 브랜드
<<<maker>>> 선택 제조사
<<<origi>>> 선택 원산지
<<<deliv>>> 필수 배송료
<<<event>>> 선택 이벤트
<<<coupo>>> 선택 쿠폰
<<<pcard>>> 선택 무이자
<<<point>>> 선택 포인트
<<<mvurl>>> 선택 동영상 상품 여부
<<<selid>>> 선택 셀러 ID (오픈마켓에 한함)
<<<barcode>>> 선택 바코드 (전체EP만 사용)
<<<ftend>>> 필수 상품의 마지막을 알리는 필드
*/
$lt = "<<<";
$gt = ">>>";
$shop_url = G5_SHOP_URL;
$data_url = G5_DATA_URL;
// 하루전의 상품
$time = date("Y-m-d 00:00:00", G5_SERVER_TIME - 86400);
$sql =" select * from {$g5['g5_shop_item_table']} where it_use = '1' and it_time >= '$time' order by ca_id";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$cate1 = $cate2 = $cate3 = $cate4 = "";
$caid1 = $caid2 = $caid3 = $caid4 = "";
$caid1 = substr($row['ca_id'],0,2);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid1' ");
$cate1 = $row2['ca_name'];
if (strlen($row['ca_id']) >= 8) {
$caid4 = substr($row['ca_id'],0,8);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid4' ");
$cate4 = $row2['ca_name'];
}
if (strlen($row['ca_id']) >= 6) {
$caid3 = substr($row['ca_id'],0,6);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid3' ");
$cate3 = $row2['ca_name'];
}
if (strlen($row['ca_id']) >= 4) {
$caid2 = substr($row['ca_id'],0,4);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid2' ");
$cate2 = $row2['ca_name'];
}
// 배송비계산
$delivery = get_item_sendcost2($row['it_id'], $row['it_price'], 1);
// 상품이미지
$img_url = get_it_imageurl($row['it_id']);
// 포인트
$it_point = get_item_point($row);
$str = <<< HEREDOC
{$lt}begin{$gt}
{$lt}mapid{$gt}{$row['it_id']}
{$lt}pname{$gt}{$row['it_name']}
{$lt}price{$gt}{$row['it_price']}
{$lt}pgurl{$gt}$shop_url/item.php?it_id={$row['it_id']}
{$lt}igurl{$gt}$img_url
{$lt}cate1{$gt}$cate1
{$lt}cate2{$gt}$cate2
{$lt}cate3{$gt}$cate3
{$lt}cate4{$gt}$cate4
{$lt}caid1{$gt}$caid1
{$lt}caid2{$gt}$caid2
{$lt}caid3{$gt}$caid3
{$lt}caid4{$gt}$caid4
{$lt}model{$gt}
{$lt}brand{$gt}
{$lt}maker{$gt}{$row['it_maker']}
{$lt}origi{$gt}{$row['it_origin']}
{$lt}deliv{$gt}$delivery
{$lt}event{$gt}
{$lt}coupo{$gt}
{$lt}pcard{$gt}
{$lt}point{$gt}$it_point
{$lt}mvurl{$gt}
{$lt}selid{$gt}
{$lt}barcode{$gt}
{$lt}ftend{$gt}
HEREDOC;
// 091223 : 네이버에서는 아직 utf-8 을 지원하지 않고 있음
echo iconv('utf-8', 'euc-kr', $str);
}
$content = ob_get_contents();
ob_end_clean();
echo $content;
?>

View File

@ -1,59 +0,0 @@
<?php
include_once('./_common.php');
ob_start();
// 신규상품요약URL은 요약 상품정보 양식에 맞춰서 해당날짜에 추가된 상품만 출력
/*
요약 상품페이지
Field Status Notes
<<<begin>>> 필수 상품의 시작을 알리는 필드
<<<mapid>>> 판매하는 상품의 유니크한 상품ID
<<<pname>>> 실제 서비스에 반영될 상품명(Title)
<<<price>>> 해당 상품의 판매가격
<<<class>>> I(신규상품) / U (업데이트상품) / D (품절상품)
<<<utime>>> 상품정보 생성 시각
<<<ftend>>> 필수 상품의 마지막을 알리는 필드
*/
$lt = "<<<";
$gt = ">>>";
$time = date("Y-m-d 00:00:00", G5_SERVER_TIME - 86400);
$sql =" select * from {$g5['g5_shop_item_table']} where it_use = '1' and it_time >= '$time' order by ca_id";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$stock_qty = get_it_stock_qty($row['it_id']);
$str = '';
$str .= "{$lt}begin{$gt}\n";
$str .= "{$lt}mapid{$gt}{$row['it_id']}\n";
if ($stock_qty <= 0)
{
// 품절 상품 양식
$str .= "{$lt}class{$gt}D\n";
}
else
{
// 업데이트 상품 양식 & 품절 복구 상품 양식
$str .= "{$lt}pname{$gt}{$row['it_name']}\n";
$str .= "{$lt}price{$gt}{$row['it_price']}\n";
$str .= "{$lt}class{$gt}U\n";
}
$str .= "{$lt}utime{$gt}{$row['it_time']}\n";
$str .= "{$lt}ftend{$gt}\n";
// 091223 : 네이버에서는 아직 utf-8 을 지원하지 않고 있음
echo iconv('utf-8', 'euc-kr', $str);
}
$content = ob_get_contents();
ob_end_clean();
echo $content;
?>

View File

@ -1,52 +1,94 @@
<?php
include_once('./_common.php');
ob_start();
// clean the output buffer
ob_end_clean();
/*
요약 상품페이지
EP 버전 3.0
Field Status Notes
<<<begin>>> 필수 상품의 시작을 알리는 필드
<<<mapid>>> 판매하는 상품의 유니크한 상품ID
<<<pname>>> 실제 서비스에 반영될 상품명(Title)
<<<price>>> 해당 상품의 판매가격
<<<class>>> I(신규상품) / U (업데이트상품) / D (품절상품)
<<<utime>>> 상품정보 생성 시각
<<<ftend>>> 필수 상품의 마지막을 알리는 필드
네이버지식쇼핑상품EP (Engine Page) 제작및연동가이드 (제휴사제공용)
http://join.shopping.naver.com/misc/download/ep_guide.nhn
Field Status Notes
id 필수 판매하는 상품의 유니크한 상품ID
title 필수 실제 서비스에 반영될 상품명(Title)
price_pc 필수 상품가격
link 필수 상품URL
image_link 필수 해당 상품의 이미지URL
category_name1 필수 카테고리명(대분류)
category_name2 권장 카테고리명(중분류)
category_name3 권장 카테고리명(소분류)
category_name4 권장 카테고리명(세분류)
model_number 권장 모델명
brand 권장 브랜드
maker 권장 제조사
origin 권장 원산지
event_words 권장 이벤트
coupon 권장 쿠폰
interest_free_event 권장 무이자
point 권장 포인트
shipping 필수 배송료
seller_id 권장 셀러 ID (오픈마켓에 한함)
class 필수(요약) I (신규상품) / U (업데이트 상품) / D (품절상품)
update_time 필수(요약) 상품정보 생성 시각
*/
$lt = "<<<";
$gt = ">>>";
$tab = "\t";
$sql =" select it_id, it_name, it_price, it_time from {$g5['g5_shop_item_table']} where it_use = '1' order by ca_id";
ob_start();
echo "id{$tab}title{$tab}price_pc{$tab}link{$tab}image_link{$tab}category_name1{$tab}category_name2{$tab}category_name3{$tab}category_name4{$tab}model_number{$tab}brand{$tab}maker{$tab}origin{$tab}point{$tab}shipping{$tab}class{$tab}update_time";
$sql =" select * from {$g5['g5_shop_item_table']} where it_use = '1' and substring(it_update_time, 1, 10) = '".G5_TIME_YMD."' order by ca_id";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$cate1 = $cate2 = $cate3 = $cate4 = "";
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid1' ");
$cate1 = $row2['ca_name'];
$cate2 = $cate3 = $cate4 = "";
if (strlen($row['ca_id']) >= 8) {
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid4' ");
$cate4 = $row2['ca_name'];
}
if (strlen($row['ca_id']) >= 6) {
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid3' ");
$cate3 = $row2['ca_name'];
}
if (strlen($row['ca_id']) >= 4) {
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid2' ");
$cate2 = $row2['ca_name'];
}
// 배송비계산
$delivery = get_item_sendcost2($row['it_id'], $row['it_price'], 1);
// 상품이미지
$img_url = get_it_imageurl($row['it_id']);
// 포인트
$it_point = get_item_point($row);
$item_link = G5_SHOP_URL.'/item.php?it_id='.$row['it_id'];
// 상태
$class = 'U';
$stock_qty = get_it_stock_qty($row['it_id']);
$str = '';
if(substr($row['it_time'], 0, 10) == G5_TIME_YMD && $row['it_update_time'] >= $row['it_time'])
$class = 'I';
$str .= "{$lt}begin{$gt}\n";
$str .= "{$lt}mapid{$gt}{$row['it_id']}\n";
if ($stock_qty <= 0)
{
// 품절 상품 양식
$str .= "{$lt}class{$gt}D\n";
}
else
{
// 업데이트 상품 양식 & 품절 복구 상품 양식
$str .= "{$lt}pname{$gt}{$row['it_name']}\n";
$str .= "{$lt}price{$gt}{$row['it_price']}\n";
$str .= "{$lt}class{$gt}U\n";
}
$str .= "{$lt}utime{$gt}{$row['it_time']}\n";
$str .= "{$lt}ftend{$gt}\n";
if($row['it_soldout'] || $stock_qty < 0)
$class = 'D';
// 091223 : 네이버에서는 아직 utf-8 을 지원하지 않고 있음
echo iconv('utf-8', 'euc-kr', $str);
echo "\n{$row['it_id']}{$tab}{$row['it_name']}{$tab}{$row['it_price']}{$tab}{$item_link}{$tab}{$img_url}{$tab}{$cate1}{$tab}{$cate2}{$tab}{$cate3}{$tab}{$cate4}{$tab}{$row['it_model']}{$tab}{$row['it_brand']}{$tab}{$row['it_maker']}{$tab}{$row['it_origin']}{$tab}{$it_point}{$tab}{$delivery}{$tab}{$class}{$tab}{$row['it_update_time']}";
}
$content = ob_get_contents();